srg/Templates/srgcat/skymap.html
2024-06-05 11:33:02 +03:00

371 lines
12 KiB
HTML

{% extends "js9base.html" %}
{% load heasarc_templates %}
{% block header %}
<a class="btn btn-success" role="button" href="{% url 'art-xc survey index' %}">ART-XC Survey</a>
<a class="btn btn-success" role="button" href="{% url 'srg data dumps' %}">Daily data dumps</a>
<a class="btn btn-success" role="button" href="{% url 'show sky map form' %}">Show SkyMap</a>
<hr>
{% endblock %}
{% block content %}
{% if form %}
<form action="/srgcat/skymap" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
{% endif %}
{% if skymap %}
<div class="row">
<div class="col-sm-2">
</div>
<div class="col-sm-10">
<p>
{% if dump %}
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/{{ dump }}/img_conv.fits.gz", {display: "js9aver", scale:"log", colormap:"cool", zoom:"toFit"});'>conv</a> |
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/{{ dump }}/img_conv2dp.fits.gz", {display: "js9aver", scale:"log", colormap:"cool", zoom:"toFit"});'>conv2dp</a> |
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/{{ dump }}/exp.fits.gz", {display: "js9aver", zoom:"toFit"});'>exp</a> |
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/{{ dump }}/pbg.fits.gz", {display: "js9aver", zoom:"toFit"});'>pbg</a>
{% else %}
Load:
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/img_conv_2.fits.fz", {display: "js9aver", scale:"log",colormap:"cool", zoom:"toFit"});'>conv</a> |
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/img_conv2dp_2.fits.fz", {display: "js9aver", scale:"log",colormap:"cool", zoom:"toFit"});'>conv2dp</a> |
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/exp_2.fits.fz", {display: "js9aver", zoom:"toFit"});'>exp</a> |
<a href='javascript:JS9.Load("/skymap/{{ skymap }}/L3/pbg_2.fits.fz", {display: "js9aver", zoom:"toFit"});'>pbg</a>
{% endif %}
</p>
</div>
<div class="col-sm-2">
<div class="JS9Panner" id="js9averPanner" data-width="180px" data-height="180px"></div>
<div id="aladin-lite-div" style="width:180px;height:180px;align=center"></div>
<script type="text/javascript" src="//aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.js" charset="utf-8"></script>
<script type="text/javascript">
var aladin = A.aladin('#aladin-lite-div', {
cooFrame: "J2000d",
survey: "P/DSS2/color",
fov: 12, target: "{{ skymap.RA_CEN|safe }} {{ skymap.DE_CEN|safe }}",
showShareControl: false,showGotoControl:false,showReticle:false,
showCooGrid: false,showLayersControl:false,showZoomControl:false,});
aladin.createImageSurvey("IKI/SRG/ART-XC", "SRG/ART-XC", "http://localhost:9999/static/ArtHiPS/", 'galactic', 3, {imgFormat: 'png'})
aladin.setImageSurvey('IKI/SRG/ART-XC');
//aladin.getBaseImageLayer().getColorMap().update('cubehelix');
var center = A.catalog({shape: 'square', name: 'Center', color: 'red', sourceSize: 10, displayLabel: false,onClick: 'showTable'});
center.addSources(A.source({{ skymap.RA_CEN|safe }}, {{ skymap.DE_CEN|safe }},
{'':'<a href="{{ skymap.get_absolute_url }}">{{ skymap }}</a>',}));
aladin.addCatalog(center);
var neib = A.catalog({shape: 'square', name: 'Neibghour', color: 'green', sourceSize: 10, displayLabel: false,onClick: 'showTable'});
{% for neib in skymap.get_neighbours %}
neib.addSources(A.source({{ neib.RA_CEN|safe }}, {{ neib.DE_CEN|safe }},
{'':'<a href="{{ neib.get_absolute_url }}">{{ neib }}</a>',}));
{% endfor %}
aladin.addCatalog(neib);
aladin.addCatalog(A.catalogFromURL('http://193.232.10.38/static/aladin/bound_radec.csv.xml',
{name: 'boundary', sourceSize:10, color: 'red', shape: 'cross' }));
</script>
<hr>
{% if target_ra and target_dec %}
<p>
<button type="button" class="btn btn-warning" onclick="load_target()">Reference source</button>
</p>
{% endif %}
<p>
<button onclick="load_skymap_sources()">SkyMap sources</button>
<!--button onclick="load_skymap_names()">Names</button-->
</p>
<h4>Load catalogs</h4>
{% if intrefcat %}<button onclick="load_integral()">INTEGRAL</button>{% endif %}
{% if swiftbat %}<button onclick="load_swiftbat()">Swift-BAT</button>{% endif %}
{% if rosat %}<button onclick="load_rosat()">ROSAT</button>{% endif %}
</div>
<div class="col-sm-8">
{% if skymap.is_L3_valid %}
<div class="JS9Menubar" id="js9averMenubar" data-width="500px"></div>
<div class="JS9" id="js9aver" data-width="500px" data-height="500px"></div> <!-- 700 px -->
<pre>{{ skymap.get_absolute_path }}/L3/{% if dump %}{{ dump }}{% endif %}</pre>
{% else %}
<hr>
<div class="alert alert-warning">
<p><h4>L3 is not found in {{ skymap.get_absolute_path }}</h4></p>
</div>
{% endif %}
</div>
<!--div class="col-sm-2">
{% if skymap.skymapsource_set.count %}
<h4>Add to sky:</h4>
{% for src in skymap.skymapsource_set.all %}
<a href='javascript:JS9.AddRegions("circle", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", display: "js9aver"});'>{{ src.name }}</a></a>
{% endfor %}
{% endif %}
</div-->
<div class="col-sm-2">
{% if request.user.session.target_ra and request.user.session.target_dec %}
<button type="button" class="btn btn-info" onclick="load_target()"><span class="glyphicon glyphicon-screenshot"></span> Target {{ request.user.session.target_ra }}<sup>RA</sup>
{{ request.user.session.target_dec }}<sup>Dec</sup></button>
{% endif %}
<h4>SkyMap <a href="{{ skymap.get_absolute_url }}">{{ skymap }}</a> </h4> {{ skymap.RA_CEN|floatformat:2 }}<sup>RA</sup> {{ skymap.DE_CEN|floatformat:2 }}<sup>Dec</sup> <a data-toggle="tooltip" data-placement="top" title="Lookup target position in survey" href="{% url 'target survey GET' %}?ra={{ skymap.RA_CEN|safe }}&dec={{ skymap.DE_CEN|safe }}&load_surveypath=False"><span class="glyphicon glyphicon-flag"></span></a>
{% if related_dumps %}
<h4>Related dumps</h4>
<list-scroll>
<ul>
{% for dump in related_dumps %}
<li>
<a href="/srgcat/{{ dump.pk }}/{{ skymap.pk }}/skymap">{{ dump.date|date:"d M Y H:i" }}</a>
</li>
{% endfor %}
</ul>
</list-scroll>
{% endif %}
</div>
</div>
{% endif %}
<script type="text/javascript">
function load_skymap_names(){
{% if skymap.skymapsource_set.count %}
{% for src in skymap.skymapsource_set.all %}
JS9.AddRegions("text", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", text:"{{ src.name }}", color:"yellow", display: "js9aver"});
{% endfor %}
{% endif %}
}
function load_skymap_sources(){
JS9.RemoveRegions();
{% if skymap.skymapsource_set.count %}
{% for src in skymap_sources %}
JS9.AddRegions("circle", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", color:"yellow", display: "js9aver"});
{% endfor %}
{% endif %}
}
function load_integral(){
load_skymap_sources();
{% for src in intrefcat %}
//console.log("{{ src.name }}")
JS9.AddRegions("circle", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", text:"{{ src.name }}",});
{% endfor %}
}
function load_target(){
JS9.AddRegions("circle", {ra:"{{ target_ra }}", dec:"{{ target_dec }}", text:"{{ src.name }}", color:"red",});
}
function load_swiftbat(){
load_skymap_sources();
{% for src in swiftbat %}
//console.log("{{ src.name }}")
JS9.AddRegions("circle", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", text:"{{ src.name }}",});
{% endfor %}
}
function load_rosat(){
load_skymap_sources();
{% for src in rosat %}
console.log("{{ src.name }}")
JS9.AddRegions("circle", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", text:"{{ src.name }}",});
{% endfor %}
}
function load_toggle(){
if($(this).attr('data-click-state') == 1) {
$(this).attr('data-click-state', 0)
console.log("remove rosat regions")
//JS9.RemoveRegions("All",{tag:"rosat"});
} else {
$(this).attr('data-click-state', 1)
console.log("load rosat regions");
JS9.RemoveRegions();
{% for src in rosat %}
console.log("{{ src.name }}")
JS9.AddRegions("circle", {ra:"{{ src.ra }}", dec:"{{ src.dec }}", text:"{{ src.name }}", tag:"rosat",});
{% endfor %}
}
}
</script>
<!-- if skymap.skymapsource_set.count -->
{% if skymap_sources %}
<div class="row">
<div class="col-sm-12">
<h4>Loaded source list</h4>
<table class="table">
<thead>
<tr>
<th class="th-sm">Name</th>
<th class="th-sm">Match</th>
<th class="th-sm">Simbad type (abridged <5)</th>
<th class="th-sm">RA</th>
<th class="th-sm">Dec</th>
<th class="th-sm">S/N</th>
<th class="th-sm">Rate</th>
<th class="th-sm">Flux</th>
</tr>
</thead>
<tbody>
{% for src in skymap_sources %}
<tr>
<td>
<a href="{{ src.get_absolute_url }}"><b>{{ src.name }}</b></a> | <a data-toggle="tooltip" data-placement="top" title="Lookup target position in survey" href="{% url 'target survey GET' %}?ra={{ src.ra|safe }}&dec={{ src.dec|safe }}"><span class="glyphicon glyphicon-flag"></span></a>
</td>
<td><b>{{ src.heasarc.all.count }}</b></td>
<td>
{% for simsrc in src.simbad.all|slice:":5" %}
{{ simsrc.obj_class }} |
{% endfor %}
</td>
<td>{{ src.ra|floatformat:5 }}</td>
<td>{{ src.dec|floatformat:5 }}</td>
<td>{{ src.sig|floatformat:2 }}</td>
<td>{{ src.rate|floatformat:4 }}</td>
<td>{{ src.flux|stringformat:"1.1e" }} </td>
</tr>
{% endfor %}
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<!--div class="col-sm-2">
</div-->
</div>
{% endif %}
{% if swiftbat %}
<div class="row">
<div class="col-sm-12">
<h4>Swift-BAT 105m survey</h4>
<table class="table">
<thead>
<tr>
<th class="th-sm">Name</th>
<th class="th-sm">Counterpart</th>
<th class="th-sm">RA</th>
<th class="th-sm">Dec</th>
<th class="th-sm">S/N</th>
<th class="th-sm">Flux</th>
<th class="th-sm">Notes</th>
</tr>
</thead>
<tbody>
{% for src in swiftbat %}
<tr>
<td>
<a href="{{ src.get_nasa_url }}" target="_blank"><b>{{ src.name }}</b> <span class="glyphicon glyphicon-new-window"></span></a> | <a data-toggle="tooltip" data-placement="top" title="Lookup target position in survey" href="{% url 'target survey GET' %}?ra={{ src.ra|safe }}&dec={{ src.dec|safe }}"><span class="glyphicon glyphicon-flag"></span></a>
</td>
<td>{{ src.counterpart_name}}</td>
<td>{{ src.ra|floatformat:3 }}</td>
<td>{{ src.dec|floatformat:2 }}</td>
<td>{{ src.snr|floatformat:2 }}</td>
<td>{{ src.flux|floatformat:2 }} &times; 10<sup>-12</sup> </td>
<td>
{{ src.otype }}
{% if src.redshift > 0.0 %}z={{ src.redshift }}{% endif %}
{% if src.lum > 0.0 %}logL={{ src.lum }}{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<th class="th-sm"></th>
<th class="th-sm"></th>
<th class="th-sm"></th>
<th class="th-sm"></th>
<th class="th-sm"></th>
<th class="th-sm">ergs/s/cm<sup>2</sup><br>14-195 keV</th>
<th class="th-sm"></th>
</tr>
</tfoot>
</table>
</div>
<!--div class="col-sm-2">
</div-->
</div>
{% endif %}
{% if dump %}
<div class="row">
<div class="col-sm-12">
<h4>Loaded data dump</h4>
<table class="table">
<thead>
<tr>
<th class="th-sm">Name</th>
<th class="th-sm">Date</th>
<th class="th-sm">Survey</th>
<th class="th-sm">Survey duration</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a href="{{ dump.get_absolute_url }}"><b>{{ dump.name }}</b></a>
</td>
<td>{{ dump.date|date:"d M Y H:i:s" }}</b></td>
<td>{% if survey %}<a href="{{ survey.get_absolute_url }}">{{ survey }}</a>{% endif %}</td>
<td>{% if survey %}{{ survey.start|date:"d.m.Y H:i" }} - {{ survey.stop|date:"d.m.Y H:i" }}{% endif %}</td>
</tr>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
</div>
{% endif %}
{% endblock %}