Source code for sunpy.map.sources.source_type
"""
Source type-dependencies.
Helioviewer JPEG2000 files have stretched images compared to the FITS data.
"""
from astropy.visualization import LinearStretch
__author__ = "Jack Ireland"
__email__ = "jack.ireland@nasa.gov"
__all__ = ['from_helioviewer_project', 'source_stretch']
[docs]
def from_helioviewer_project(meta):
"""
Test determining if the given metadata contains Helioviewer Project sourced data.
Parameters
----------
meta : `~astropy.utils.metadata.MetaData`
The metadata to parse.
Returns
-------
If the data of the map comes from the Helioviewer Project, then True is
returned. If not, False is returned.
"""
return 'helioviewer' in meta.keys()
[docs]
def source_stretch(meta, fits_stretch):
"""
Assign the correct source-dependent image stretching function.
Parameters
----------
meta : `~astropy.utils.metadata.MetaData`
The metadata to parse.
fits_stretch : `~astropy.visualization.BaseStretch`
Image stretching function used when the source image data comes from a
FITS file.
Returns
-------
An image stretching function appropriate to the image data source.
"""
if from_helioviewer_project(meta):
# Helioviewer JPEG2000 files already have a stretched data values, so
# just use a linear stretch.
return LinearStretch()
else:
# Not a Helioviewer JPEG2000 file, so assume the data has not been
# stretched and so use the FITS stretching as defined in the instrument
# source.
return fits_stretch