Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual Observatory plugin for Jdaviz #2872

Open
wants to merge 64 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
a8a458e
Migrate VO plugin to Jdaviz
duytnguyendtn May 10, 2024
b4c3530
Print resource url in empty error
duytnguyendtn May 13, 2024
3b6ffa6
Clarify degree unit on coord tooltip
duytnguyendtn May 13, 2024
0d688d9
Catch connection error
duytnguyendtn May 14, 2024
945677c
Allow URL only override
duytnguyendtn May 16, 2024
83fa048
Automatically fallback table to URL-only if unable to get metadata co…
duytnguyendtn May 16, 2024
abb24ec
Coordinate frame option
duytnguyendtn May 22, 2024
bb41ee5
Autocenter coords on viewer if data present
duytnguyendtn May 22, 2024
7fffc8f
Filter resource querying on coverage at source, adjust userflow to se…
duytnguyendtn Jul 17, 2024
1c67aca
Coverage filtering toggle
duytnguyendtn Jul 17, 2024
bf4a94f
Migrate resource_selected to v-model
duytnguyendtn Jul 17, 2024
6a555f9
Mark Source and Resource as required fields
duytnguyendtn Jul 18, 2024
9348eef
Remove redundant manual traitlet sync
duytnguyendtn Jul 18, 2024
d580c66
Set throwaway event args to optional
duytnguyendtn Jul 18, 2024
4e18af2
Drop vestigial argument signatures
duytnguyendtn Jul 18, 2024
76581ca
Set query registry to observe waveband_selected to avoid multiple reg…
duytnguyendtn Jul 18, 2024
81e6cb1
Add TODO comment
duytnguyendtn Jul 18, 2024
ca41b24
Black Formatting
duytnguyendtn Jul 18, 2024
9d007b8
First draft documentation
duytnguyendtn Jul 18, 2024
a3295ce
Fix doc references
duytnguyendtn Jul 19, 2024
09a21bb
Fix IVOA hyperlink
duytnguyendtn Jul 19, 2024
d22ddd7
Docs: Add mention to source name string input
duytnguyendtn Jul 19, 2024
c0ecc2a
Local autocenter test
duytnguyendtn Jul 20, 2024
2ca1cbf
Coverage toggle test
duytnguyendtn Jul 22, 2024
a357e83
Move table population to testable method for local test
duytnguyendtn Jul 22, 2024
5ddd663
Test Formatting
duytnguyendtn Jul 22, 2024
96b93c1
Add custom table header test
duytnguyendtn Jul 23, 2024
e023d91
Switch to direct URL loading
duytnguyendtn Jul 23, 2024
ab8ae95
Add M51 load data test
duytnguyendtn Jul 23, 2024
a5e9970
Add SIA2 warning
duytnguyendtn Jul 24, 2024
bbce480
Don't use cache to avoid loadtime warning
duytnguyendtn Jul 24, 2024
c4146dc
Filter known data product warnings in load_data test
duytnguyendtn Jul 24, 2024
c19d01f
Document unit tests
duytnguyendtn Jul 24, 2024
c884c69
Codestyle
duytnguyendtn Jul 24, 2024
4f3a967
Changelog
duytnguyendtn Jul 24, 2024
a18101c
Properly compare autocenter coord values as floats
duytnguyendtn Jul 24, 2024
8ecce9e
URL fallback needs to reset current entry to URL only if previous att…
duytnguyendtn Jul 24, 2024
f9cf202
Table header URL fallback test
duytnguyendtn Jul 24, 2024
3ac2a7c
Fix CSS height arg
duytnguyendtn Jul 24, 2024
08f3696
Drop vestigial ICRS frame requirement in tooltip
duytnguyendtn Jul 24, 2024
5b6eeef
Codestyle
duytnguyendtn Jul 24, 2024
c41b72f
Syntax fix
duytnguyendtn Jul 24, 2024
606d6a8
Only lookup source coordinate in registry query IF coverage filtering…
duytnguyendtn Jul 25, 2024
9b6a60b
Define center coordinates as attr for reference in other tests
duytnguyendtn Jul 26, 2024
aebd564
Only block registry querying if no source and filtering enabled. Allo…
duytnguyendtn Jul 26, 2024
437d395
Clear source field if autocoord viewer has no data
duytnguyendtn Jul 26, 2024
00b0da1
Test comments
duytnguyendtn Jul 26, 2024
dc5a4de
Test for source error snackbar messages
duytnguyendtn Jul 30, 2024
b9aa8e1
Disable registry coverage filtering by default (per Cami request)
duytnguyendtn Jul 30, 2024
c250c1f
Test load data error messages
duytnguyendtn Jul 30, 2024
10d712d
Warn users about potentially misaligned data if WCS linking isn't ena…
duytnguyendtn Jul 31, 2024
d4f152a
Load data errors do not prevent subsequent data products from loading
duytnguyendtn Aug 2, 2024
e2e463d
Test organization, codestyle
duytnguyendtn Aug 2, 2024
49eefb7
Test that loading spinners turn off when operations are complete
duytnguyendtn Aug 2, 2024
5a61cc9
Effectively disable timeout
duytnguyendtn Aug 7, 2024
c0e9086
Recalculate autocoord when linktype changes
duytnguyendtn Sep 4, 2024
ea2562e
Allow float degrees
duytnguyendtn Sep 9, 2024
783262a
Add support for radius units
duytnguyendtn Sep 11, 2024
5742480
Use UnitSelectPluginComponent for radius unit
duytnguyendtn Sep 12, 2024
03a00e3
Add viewer force recenter button
duytnguyendtn Sep 12, 2024
300f194
Allow plugin to follow viewer coords thru panning
duytnguyendtn Sep 13, 2024
8898c55
Don't bother subscribing if we're on Manual
duytnguyendtn Sep 13, 2024
0ff66b1
Update test method call after renaming
duytnguyendtn Sep 13, 2024
fd89b64
UI: Change autocenterbtn icon to indicate when coords are centered or…
duytnguyendtn Sep 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,8 @@ Cubeviz
Imviz
^^^^^

- Virtual Observatory plugin to query resources and download data products. [#2872]

Mosviz
^^^^^^

Expand Down
40 changes: 40 additions & 0 deletions docs/imviz/import_data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,46 @@ to load regions from a ``.reg`` file; also see :ref:`imviz-import-regions-api`.

.. _imviz-import-api:

Downloading data products through the Virtual Observatory
---------------------------------------------------------
Imviz supports querying and loading data products from the `IVOA's Virtual Observatory <https://ivoa.net/>`_.
The plugin will search for registered archives that have observations which intersect the circular field
specified by the user.

To search the VO, enter a source location and a radius around which to search. The source utilizes
:class:`~astropy.coordinates.SkyCoord`'s resolver and can accept a common source name (e.g. Messier or NGC) or
any string representations of astronomical coordinates understood by ``SkyCoord``. For more information,
see :ref:`astropy:astropy-coordinates-high-level`. If a radius is not provided, a circular field of 1 degree
centered on the source will be assumed.

By default, the plugin will limit results to archives which report coverage intersecting the provided cirular
field. To instead see all available archives on the IVOA registry, toggle the :guilabel:`Filter by Coverage` button.

.. note::

Some archives have not provided coverage information, and thus will be excluded from the results.
If you are expecting an archive that does not appear, try disabling coverage filtering.

Additionally, select the corresponding waveband of the archive you are looking for; this will limit the query to
archives and services within your specified wavelength range. Waveband definitions can be found here.

After selecting the waveband, the plugin will query the VO registry for services that match the provided criteria.
If coverage filtering is enabled, only archives and surveys that report coverage within the user's specified area
will be reported. Otherwise, the list will return all available archives and surveys in that waveband. Select your
resource to query and press the :guilabel:`Query Archive` button to search your specified archive with your
specific target.

Once the query is complete, a table of results will be populated below, with the archive provided ``Title``,
``Date``, and ``Instrument`` of each result. Select your desired data products to load and click
:guilabel:`Load Data` to download and import your selected data products to Imviz.

.. note::

Currently only SIA 1.0 services are implemented. VO services which offer only SIA2 endpoints are not
supported.

.. _imviz-virtual-observatory:

Importing data via the API
==========================

Expand Down
2 changes: 1 addition & 1 deletion jdaviz/components/plugin_table.vue
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
</template>
</v-select>
</div>
<div style="line-height: 64px; width=32px" class="only-show-in-tray">
<div style="line-height: 64px; width:32px" class="only-show-in-tray">
<j-plugin-popout :popout_button="popout_button"></j-plugin-popout>
</div>
</v-row>
Expand Down
5 changes: 5 additions & 0 deletions jdaviz/components/tooltip.vue
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,11 @@ const tooltips = {
'plugin-dq-show-all': 'Show all quality flags',
'plugin-dq-hide-all': 'Hide all quality flags',
'plugin-dq-color-picker': 'Change the color of this DQ flag',
'plugin-vo-filter-coverage': `Only show surveys that report coverage within specified radius of provided coordinates. Queries may take longer to process<br /><br />
<div style="border: 1px solid gray;" class="pa-2">
<strong>Note:</strong>
Surveys which have not implemented coverage information will also be excluded. If you are expecting a survey that doesn't appear, try disabling coverage filtering.
</div>`
}


Expand Down
1 change: 1 addition & 0 deletions jdaviz/configs/default/plugins/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
from .markers.markers import * # noqa
from .data_quality.data_quality import * # noqa
from .about.about import * # noqa
from .virtual_observatory import * # noqa
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .vo_plugin import * # noqa
Loading