ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
wasatch.ProcessedReading.ProcessedReading Class Reference

This class encapsulates anything done to a wasatch.Reading (usually generated by wasatch.WasatchDevice) after it has been received by ENLIGHTEN (usually Controller.process_reading). More...

Public Member Functions

 __init__ (self, reading=None, d=None, settings=None)
 
 clear (self)
 
 correct_dark (self, dark)
 
 dump (self, indent=0)
 
 get_array (self, array_name, level_name)
 
 get_dark (self, stage=None)
 
 get_pixel_axis (self)
 
 get_pixel_count (self)
 
 get_processed (self, stage=None)
 
 get_raw (self, stage=None)
 
 get_reference (self, stage=None)
 
 get_wavelengths (self, stage=None)
 
 get_wavenumbers (self, stage=None)
 
 has_dark (self)
 
 has_processed (self)
 
 has_reference (self)
 
 is_cropped (self)
 
 is_interpolated (self)
 
 load_from_dict (self, d)
 
 post_load_cleanup (self, settings=None)
 Resets spectral component arrays which were somehow initialized (perhaps while parsing a textfile and getting overly hopeful based on declared header rows), but ultimately never populated.
 
 set_processed (self, spectrum)
 Called by enlighten.post_processing.
 
 to_dict (self)
 

Public Attributes

 cropped = None
 
 dark = None
 
bool dark_corrected = False
 
 declared_match = None
 
bool deconvolved = False
 
 device_id = None
 
int first_pixel = -1
 
 interpolated = None
 
 plugin_metadata = None
 
 processed = None
 
bool raman_intensity_corrected = False
 
 raw = None
 
 reading = None
 
 recordable_dark = None
 
 recordable_reference = None
 
 reference = None
 
 settings = None
 
bool used_reference = False
 
 wavelengths = None
 
 wavenumbers = None
 

Static Public Attributes

dict ARRAYS = { "PROCESSED", "DARK", "REFERENCE", "WAVELENGTHS", "WAVENUMBERS" }
 
list ORDER_OF_OPERATIONS
 
int session_count = 0
 

Protected Member Functions

 _get_array (self, name, stage)
 

Detailed Description

This class encapsulates anything done to a wasatch.Reading (usually generated by wasatch.WasatchDevice) after it has been received by ENLIGHTEN (usually Controller.process_reading).

This would include any post-processing like dark subtraction, conversion into a processed transmission, reflectance, absorbance or irradiance measurement, etc.

The ProcessedReading is an important attribute of a Measurement, which higher- level class also encapsulates things like the graphical ThumbnailWidget rendering the .processed spectrum, the .curve drawing the spectrum on the Graph, CSV or Excel pathnames saved from the Measurement, etc.

ProcessedReadings generated directly from a spectrometer will contain the original Reading object (which typically provides the .raw spectrum). If a Measurement has been deserialized from disk, then any spectra loaded from the file will be stored in stubbed ProcessedReading, which therefore will not have an original Reading object. You should be able to tell whether a ProcessedReading was collected live, or loaded from disk, by the presence of a Reading attribute. (Also, the loaded Measurement should have a source_pathname attribute.)

See also
ORDER_OF_OPERATIONS.md in ENLIGHTEN/docs

Constructor & Destructor Documentation

◆ __init__()

wasatch.ProcessedReading.ProcessedReading.__init__ ( self,
reading = None,
d = None,
settings = None )
Parameters
d(Input) if instantiating from a dict (External API or loaded JSON), this is the dictionary containing parsed values

Member Function Documentation

◆ _get_array()

wasatch.ProcessedReading.ProcessedReading._get_array ( self,
name,
stage )
protected

◆ clear()

wasatch.ProcessedReading.ProcessedReading.clear ( self)

◆ correct_dark()

wasatch.ProcessedReading.ProcessedReading.correct_dark ( self,
dark )

◆ dump()

wasatch.ProcessedReading.ProcessedReading.dump ( self,
indent = 0 )

◆ get_array()

wasatch.ProcessedReading.ProcessedReading.get_array ( self,
array_name,
level_name )

◆ get_dark()

wasatch.ProcessedReading.ProcessedReading.get_dark ( self,
stage = None )

◆ get_pixel_axis()

wasatch.ProcessedReading.ProcessedReading.get_pixel_axis ( self)

◆ get_pixel_count()

wasatch.ProcessedReading.ProcessedReading.get_pixel_count ( self)

◆ get_processed()

wasatch.ProcessedReading.ProcessedReading.get_processed ( self,
stage = None )

◆ get_raw()

wasatch.ProcessedReading.ProcessedReading.get_raw ( self,
stage = None )

◆ get_reference()

wasatch.ProcessedReading.ProcessedReading.get_reference ( self,
stage = None )

◆ get_wavelengths()

wasatch.ProcessedReading.ProcessedReading.get_wavelengths ( self,
stage = None )

◆ get_wavenumbers()

wasatch.ProcessedReading.ProcessedReading.get_wavenumbers ( self,
stage = None )

◆ has_dark()

wasatch.ProcessedReading.ProcessedReading.has_dark ( self)

◆ has_processed()

wasatch.ProcessedReading.ProcessedReading.has_processed ( self)

◆ has_reference()

wasatch.ProcessedReading.ProcessedReading.has_reference ( self)

◆ is_cropped()

wasatch.ProcessedReading.ProcessedReading.is_cropped ( self)

◆ is_interpolated()

wasatch.ProcessedReading.ProcessedReading.is_interpolated ( self)

◆ load_from_dict()

wasatch.ProcessedReading.ProcessedReading.load_from_dict ( self,
d )

◆ post_load_cleanup()

wasatch.ProcessedReading.ProcessedReading.post_load_cleanup ( self,
settings = None )

Resets spectral component arrays which were somehow initialized (perhaps while parsing a textfile and getting overly hopeful based on declared header rows), but ultimately never populated.

◆ set_processed()

wasatch.ProcessedReading.ProcessedReading.set_processed ( self,
spectrum )

Called by enlighten.post_processing.

(RichardsonLucy, AbsorbanceFeature, BoxcarFeature, TransmissionFeature, BaselineCorrection).

This never updates .interpolated, so all calls to this should definitely occur BEFORE .interpolated is created by enlighten.post_processing.InterpolationFeature.

◆ to_dict()

wasatch.ProcessedReading.ProcessedReading.to_dict ( self)

Member Data Documentation

◆ ARRAYS

dict wasatch.ProcessedReading.ProcessedReading.ARRAYS = { "PROCESSED", "DARK", "REFERENCE", "WAVELENGTHS", "WAVENUMBERS" }
static

◆ cropped

wasatch.ProcessedReading.ProcessedReading.cropped = None

◆ dark

wasatch.ProcessedReading.ProcessedReading.dark = None

◆ dark_corrected

wasatch.ProcessedReading.ProcessedReading.dark_corrected = False

◆ declared_match

wasatch.ProcessedReading.ProcessedReading.declared_match = None

◆ deconvolved

wasatch.ProcessedReading.ProcessedReading.deconvolved = False

◆ device_id

wasatch.ProcessedReading.ProcessedReading.device_id = None

◆ first_pixel

wasatch.ProcessedReading.ProcessedReading.first_pixel = -1

◆ interpolated

wasatch.ProcessedReading.ProcessedReading.interpolated = None

◆ ORDER_OF_OPERATIONS

list wasatch.ProcessedReading.ProcessedReading.ORDER_OF_OPERATIONS
static
Initial value:
= [
"RAW",
"EVEN_ODD_INGAAS_CORRECTION",
"STOMP_ARRAY_ENDS",
"INVERT_X_AXIS",
"BAD_PIXEL_CORRECTION",
"BIN_2X2",
"DARK_CORRECTION",
"HORIZ_ROI",
"REFERENCE_PROCESSING",
"RAMAN_INTENSITY_CORRECTION",
"BASELINE_CORRECTION",
"PEAK_SHARPENING",
"DESPIKING",
"BOXCAR",
"FINAL" ]

◆ plugin_metadata

wasatch.ProcessedReading.ProcessedReading.plugin_metadata = None

◆ processed

wasatch.ProcessedReading.ProcessedReading.processed = None

◆ raman_intensity_corrected

wasatch.ProcessedReading.ProcessedReading.raman_intensity_corrected = False

◆ raw

wasatch.ProcessedReading.ProcessedReading.raw = None

◆ reading

wasatch.ProcessedReading.ProcessedReading.reading = None

◆ recordable_dark

wasatch.ProcessedReading.ProcessedReading.recordable_dark = None

◆ recordable_reference

wasatch.ProcessedReading.ProcessedReading.recordable_reference = None

◆ reference

wasatch.ProcessedReading.ProcessedReading.reference = None

◆ session_count

int wasatch.ProcessedReading.ProcessedReading.session_count = 0
static

◆ settings

wasatch.ProcessedReading.ProcessedReading.settings = None

◆ used_reference

wasatch.ProcessedReading.ProcessedReading.used_reference = False

◆ wavelengths

wasatch.ProcessedReading.ProcessedReading.wavelengths = None

◆ wavenumbers

wasatch.ProcessedReading.ProcessedReading.wavenumbers = None

The documentation for this class was generated from the following file: