Imviz#

class jdaviz.configs.imviz.helper.Imviz(*args, **kwargs)[source]#

Bases: ImageConfigHelper

Imviz Helper class.

Methods Summary

create_image_viewer([viewer_name])

Create a new image viewer.

destroy_viewer(viewer_id)

Destroy a viewer associated with the given ID.

get_alignment_method(data_label_1, data_label_2)

Find the type of glue linking between the given data labels.

get_aperture_photometry_results()

get_catalog_source_results()

get_data([data_label, spatial_subset, cls])

Returns data with name equal to data_label of type cls with subsets applied from spatial_subset.

get_link_type(data_label_1, data_label_2)

get_ref_data()

link_data([align_by, wcs_fallback_scheme, ...])

(Re)link loaded data in Imviz with the desired link type.

load_data(data[, data_label, show_in_viewer])

Load data into Imviz.

Methods Documentation

create_image_viewer(viewer_name=None)[source]#

Create a new image viewer.

To display data in this new viewer programmatically, first get the new viewer ID from the small tab on the top left of viewer display. Then, use add_data_to_viewer() from imviz.app by passing in the new viewer ID and the desired data label, once per dataset you wish to display.

Alternately, you can also display data interactively via the GUI.

Parameters:
viewer_namestr or None

Viewer name/ID to use. If None, it is auto-generated.

Returns:
viewerImvizImageView

Image viewer instance.

destroy_viewer(viewer_id)[source]#

Destroy a viewer associated with the given ID.

Raises:
ValueError

Default viewer cannot be destroyed.

get_alignment_method(data_label_1, data_label_2)[source]#

Find the type of glue linking between the given data labels. A link is bi-directional. If there are more than 2 data in the collection, one of the given labels should be the reference data or look-up will fail.

Parameters:
data_label_1, data_label_2str

Labels for the data linked together.

Returns:
align_by{‘pixels’, ‘wcs’, ‘self’}

One of the link types accepted by the Orientation plugin or 'self' if the labels are identical.

Raises:
ValueError

Link look-up failed.

get_aperture_photometry_results()[source]#

Deprecated since version 4.2: The get_aperture_photometry_results function is deprecated and may be removed in a future version. Use plugins[‘Aperture Photometry’].export_table() instead.

Return aperture photometry results, if any.

Results are calculated using Aperture Photometry plugin.

Returns:
resultsQTable or None

Photometry results if available or None otherwise.

get_catalog_source_results()[source]#

Deprecated since version 4.2: The get_catalog_source_results function is deprecated and may be removed in a future version. Use plugins[‘Catalog Search’].export_table() instead.

Return table of sources given by querying from a catalog, if any.

Results are calculated using Catalog Search plugin.

Returns:
resultsQTable or None

Table of sources if available or None otherwise.

get_data(data_label=None, spatial_subset=None, cls=None)[source]#

Returns data with name equal to data_label of type cls with subsets applied from spatial_subset.

Parameters:
data_labelstr, optional

Provide a label to retrieve a specific data set from data_collection.

spatial_subsetstr, optional

Spatial subset applied to data.

clsSpectrum1D, CCDData, optional

The type that data will be returned as.

Returns:
datacls

Data is returned as type cls with subsets applied.

Deprecated since version 4.0: The get_link_type function is deprecated and may be removed in a future version. Use get_alignment_method instead.

get_ref_data()[source]#

(Re)link loaded data in Imviz with the desired link type. All existing links will be replaced.

Parameters:
align_by{‘pixels’, ‘wcs’}

Choose to link by pixels or WCS.

wcs_fallback_scheme{None, ‘pixels’}

If WCS linking failed, choose to fall back to linking by pixels or not at all. This is only used when align_by='wcs'. Choosing None may result in some Imviz functionality not working properly.

wcs_fast_approximationbool

Use an affine transform to represent the offset between images if possible (requires that the approximation is accurate to within 1 pixel with the full WCS transformations). If approximation fails, it will automatically fall back to full WCS transformation. This is only used when align_by='wcs'. Affine approximation is much more performant at the cost of accuracy.

load_data(data, data_label=None, show_in_viewer=True, **kwargs)[source]#

Load data into Imviz.

Parameters:
dataobj or str

File name or object to be loaded. Supported formats include:

  • 'filename.fits' (or any extension that astropy.io.fits supports; first image extension found is loaded unless ext keyword is also given)

  • 'filename.fits[SCI]' (loads only first SCI extension)

  • 'filename.fits[SCI,2]' (loads the second SCI extension)

  • 'filename.jpg' (requires scikit-image; grayscale only)

  • 'filename.png' (requires scikit-image; grayscale only)

  • JWST ASDF-in-FITS file (requires stdatamodels and gwcs; data or given ext + GWCS)

  • Roman ASDF file or roman_datamodels.datamodels.ImageModel (requires roman-datamodels)

  • HDUList object (first image extension found is loaded unless ext keyword is also given)

  • ImageHDU object

  • NDData object (2D only but may have unit, mask, or uncertainty attached)

  • Numpy array (2D or 3D); if 3D, it will treat each slice at axis=0 as a separate image (limit is 16 slices), however loading too many slices will cause performance issue, so consider using Cubeviz instead.

data_labelstr or None

Data label to go with the given data. If not given, this is automatically determined from filename or randomly generated. The final label shown in Imviz may have additional information appended for clarity.

show_in_viewerstr or bool

If True, show the data in default viewer. If a string, show in that viewer.

gwcs_to_fits_sipbool, optional

Try to convert GWCS coordinates into an approximate FITS SIP solution. Typical precision loss due to this approximation is of order 0.1 pixels. This may improve image rendering performance for images with expensive GWCS transformations. If this keyword argument isn’t specified, the choice will be taken from the Orientation plugin’s gwcs_to_fits_sip traitlet.

kwargsdict

Extra keywords to be passed into app-level parser. The only one you might call directly here is ext (any FITS extension format supported by astropy.io.fits).

Notes

When loading image formats that support RGB color like JPG or PNG, the files are converted to greyscale. This is done following the algorithm of skimage.color.rgb2gray(), which involves weighting the channels as 0.2125 R + 0.7154 G + 0.0721 B. If you prefer a different weighting, you can use skimage.io.imread() to produce your own greyscale image as Numpy array and load the latter instead.