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.
Return aperture photometry results, if any.
Return table of sources given by querying from a catalog, if any.
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)Find the type of
glue
linking between the given data labels.link_data
([link_type, 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()
fromimviz.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:
- Returns:
- viewer
ImvizImageView
Image viewer instance.
- viewer
- destroy_viewer(viewer_id)[source]#
Destroy a viewer associated with the given ID.
- Raises:
- ValueError
Default viewer cannot be destroyed.
- get_aperture_photometry_results()[source]#
Return aperture photometry results, if any. Results are calculated using Aperture Photometry plugin.
- get_catalog_source_results()[source]#
Return table of sources given by querying from a catalog, if any. Results are calculated using Catalog Search plugin.
- 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.
- cls
Spectrum1D
,CCDData
, optional The type that data will be returned as.
- Returns:
- datacls
Data is returned as type cls with subsets applied.
- get_link_type(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:
- link_type{‘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.
- link_data(link_type='pixels', wcs_fallback_scheme=None, wcs_use_affine=True)[source]#
(Re)link loaded data in Imviz with the desired link type. All existing links will be replaced.
- Parameters:
- link_type{‘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
link_type='wcs'
. ChoosingNone
may result in some Imviz functionality not working properly.- wcs_use_affinebool
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
link_type='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 thatastropy.io.fits
supports; first image extension found is loaded unlessext
keyword is also given)'filename.fits[SCI]'
(loads only first SCI extension)'filename.fits[SCI,2]'
(loads the second SCI extension)'filename.jpg'
(requiresscikit-image
; grayscale only)'filename.png'
(requiresscikit-image
; grayscale only)JWST ASDF-in-FITS file (requires
stdatamodels
andgwcs
;data
or givenext
+ GWCS)Roman ASDF file or
roman_datamodels.datamodels.ImageModel
(requiresroman-datamodels
)HDUList
object (first image extension found is loaded unlessext
keyword is also given)ImageHDU
objectNDData
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.- 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 byastropy.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 as0.2125 R + 0.7154 G + 0.0721 B
. If you prefer a different weighting, you can useskimage.io.imread()
to produce your own greyscale image as Numpy array and load the latter instead.