|
ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
|
| ►NAnalysis | |
| ►NDespiking | |
| CDespiking | |
| ►NLocalBaseline | |
| CLocalBaseline | |
| ►NPeakFinding | |
| CPeakFinding | A sample ENLIGHTEN Plug-in which performs peakfinding on each received spectrum, displaying an xy scatterplot of peak pixel and intensity, with a table |
| ►NStats | |
| CMetrics | |
| CStats | Adds min, max and mean series to the ENLIGHTEN scope |
| ►NStatsBuffer | |
| CMetrics | |
| CStatsBuffer | This is similar to the Analysis.Stats plugin, but adds additional statistics (mode, median, stdev) which require that a buffer of recent spectra be cached in memory |
| ►NStripChart | |
| CHardwareState | |
| CSeries | |
| CStripChart | Simple plug-in showing how to implement a strip chart (rolling time window), as well as demonstrating non-spectral metadata that can be extracted from wasatch.ProcessedReading and wasatch.Reading (as well as other ENLIGHTEN business objects, like Cursor) |
| ►NTail | |
| CTail | Adds a configurable spectral "tail" showing history |
| ►Nble-util | |
| CFixture | Note this script is currently coded to ENG-0120 BLE API rev 7 |
| CGeneric | Encapsulates paired setter and getter accessors for a single attribute |
| CGenerics | Facade to access all Generic attributes in the BLE interface |
| ►NBurnIn | |
| CBurnIn | A plug-in to help support "burn-in" of a new spectrometer, AKA "load-test" or "robustness validation" |
| ►NButtons | |
| CButtons | Demonstration plugin showing how to create buttons and callbacks |
| ►Ncamera | |
| CCamera | Showcases the usage of the ids_peak API in setting camera parameters, starting/stopping acquisition and how to record a video using the ids_peak_ipl API |
| CRecordingStatistics | |
| ►Ncli_interface | |
| CInterface | Interface provides methods to interact with the camera on the command line, but it is not necessary to understand how to use the API of ids_peak or ids_peak_ipl |
| ►NColorMatching | Color matching plugin for ENLIGHTEN |
| CColorMatching | |
| ►NDFUFeature | |
| CDFUFeature | |
| ►Ndisplay | |
| CCustomGraphicsScene | |
| CDisplay | |
| ►NEmissionLines | |
| CEmissionLines | A simple plug-in to add emission lines from standard gas lamps to the current spectra |
| ►NEnlighten | |
| CEnlightenApplication | Encapsulates processing of command-line arguments, instantiates a Controller then passes control to the Qt framework |
| ►Nenlighten | |
| ►NBusinessObjects | |
| CBusinessObjects | This is sort of an "extension class" to Controller, or a "partial class" in C# terms |
| ►Ncommon | |
| CAxes | |
| CAxesHelper | |
| CFakeOutputHandle | We [think we] need to build Windows installers with PyInstaller |
| CLaserPowerUnits | |
| CLaserStates | We don't actually have FW API to read all of these; final implementation should treat enable, delayState, watchdogLockdown, interlockState, and isFiring as separate bits |
| COperationModes | |
| CPages | |
| CTechniques | ENLIGHTEN's application version number (checked by scripts/deploy and bootstrap.bat) |
| CTechniquesHelper | |
| CViews | It's important to keep this list in sync with the comboBox_view items |
| CViewsHelper | |
| ►NController | |
| CAcquiredReading | Trivial class to eliminate a tuple during memory profiling |
| CController | Main application controller class for ENLIGHTEN |
| ►Ndata | |
| ►NColorNames | |
| CColorNames | These are colors we can reference by name in .ini files or elsewhere |
| ►NModelFWHM | |
| CModelFWHM | |
| ►NModelInfo | |
| CModelInfo | Convenience class providing access to pre-built subtypes of WpModelInfo, plus ModelFWHM |
| CSiG_633 | |
| CSiG_785 | |
| CSiG_830 | |
| CSiG_VIS | |
| CWP_1064 | |
| CWP_248 | |
| CWP_405 | |
| CWP_532 | |
| CWP_532_ER | |
| CWP_532X_IC | |
| CWP_633 | |
| CWP_638 | |
| CWP_638X_IC | |
| CWP_638X_ILC | |
| CWP_638X_ILP | |
| CWP_785 | |
| CWP_785_ER | |
| CWP_785X_IC | |
| CWP_785X_ILC | |
| CWP_785X_ILP | |
| CWP_830 | |
| CWP_830X_IC | |
| CWP_830X_ILC | |
| CWP_830X_ILP | |
| CWP_830XL | |
| CWP_NIR_1 | |
| CWP_UV_VIS | |
| CWP_VIS | |
| CWP_VIS_NIR | |
| CWpModelInfo | Abstract Base Class (ABC) for actual per-model concrete classes |
| ►Ndevice | |
| ►NAccessoryControlFeature | |
| CAccessoryControlFeature | Support for the Gen 1.5 OEM External Accessory Connector |
| ►NAmbientTemperatureFeature | |
| CAmbientTemperatureFeature | |
| ►NBatteryFeature | |
| CBatteryFeature | |
| ►NDetectorTemperatureFeature | |
| CDetectorTemperatureFeature | Encapsulate the monitoring and control of detector temperature |
| ►NEEPROMEditor | |
| CEEPROMAttribute | |
| CEEPROMEditor | Unlike most business objects, just pass in self.form.ui to avoid a REALLY long list of widgets |
| ►NEEPROMWriter | |
| CEEPROMWriter | Encapsulate reflashing the EEPROM to the device |
| ►NExternalTriggerFeature | |
| CExternalTriggerFeature | Encapsulate external hardware triggering |
| ►NGainDBFeature | |
| CGainDBFeature | Encapsulates control of detector gain (decibels), currently used only for Sony IMX detectors (SiG) |
| ►NHighGainModeFeature | |
| CHighGainModeFeature | Control the "high gain" mode on Hamamatsu InGaAs detectors (on or off) |
| ►NIntegrationTimeFeature | |
| CIntegrationTimeFeature | |
| ►NLaserControlFeature | |
| CLaserControlFeature | Encapsulate laser control from the application side |
| ►NLaserTemperatureFeature | |
| CLaserTemperatureFeature | |
| ►NLaserWatchdogFeature | |
| CLaserWatchdogFeature | |
| ►NMultiPos | |
| CMultiPos | Used for spectrometers with articulated optics |
| ►NMultispec | |
| CMultispec | Orchestrates ENLIGHTEN's simultaneous connection to multiple spectrometers in parallel |
| ►NSpectrometer | |
| CSpectrometer | Represents an individual Spectrometer within the set of connected spectrometers managed by Multispec |
| ►NSpectrometerApplicationState | |
| CSpectrometerApplicationState | These are things that are very much ENLIGHTEN-specific and not generic enough to be in Wasatch.PY's SpectrometerState |
| ►Nfile_io | |
| ►NConfiguration | |
| CConfiguration | This is a wrapper over ConfigParser |
| ►NFileManager | |
| CFileManager | Encapsulate operations managing files, directory trees etc |
| ►NHardwareFileOutputManager | |
| CHardwareFileOutputManager | |
| ►NLoggingFeature | |
| CLoggingFeature | Currently this timer runs continuously, as it is what provides the "Hardware" Status Indicator |
| ►NKnowItAll | |
| ►NConfig | |
| CConfig | Configuration of the KnowItAll module |
| ►NFeature | |
| CAliasedName | Given that compounds may be referenced by either original name or aliases, provide a simple way to access the varied name types |
| CDeclaredMatch | This is ultimately what we turn the KnowItAll list of possible matches into |
| CFeature | Encapsulates all KnowItAll data, widgets and processing |
| ►NWrapper | |
| CMatchRequest | An inbound request being passed from Wrapper to the subprocess for writing to KIAConsole |
| CMatchResponse | An outbound response generated from the subprocess and passed back to Feature |
| CMatchResultEntry | One entry of many representing a compound potentially matched by KIAConsole within a larger MatchResult |
| CSubprocessArgs | Arguments passed to continuous_poll() when spawning the subprocess |
| CWrapper | Encapsulates ENLIGHTEN's interface to KnowItAll |
| ►Nmeasurement | |
| ►NAreaScanFeature | |
| CAreaScanFeature | Implements a 2D "area scan," displaying the full detector rows and columns rather than the usual 1D vertically-binned spectrum |
| ►NMeasurement | |
| CMeasurement | Encapsulates a single saved measurement from one spectrometer, comprising a ProcessedReading (optionally containing the original Reading object that generated it), metadata (Settings), as well as a ThumbnailWidget for display on the capture bar |
| ►NMeasurementFactory | |
| CMeasurementFactory | This is a Factory used by Measurements to create Measurement objects, each coupled to a ThumbnailWidget |
| ►NMeasurements | |
| CMeasurements | Set of Measurement objects which have been saved during this session via the Acquire button or BatchCollection, or which have been loaded from disk via the Load button |
| ►NSaveOptions | |
| CSaveOptions | Encapsulates the many options regarding how spectra are to be saved |
| ►Nnetwork | |
| ►NBLEManager | |
| CBLEManager | Provides GUI allowing user to select a Wasatch Bluetooth® LE spectrometer for connection |
| CBLESelector | A pop-up window listing all discovered Bluetooth® LE devices |
| ►NCloudManager | |
| CCloudManager | Encapsulates access to AWS-backed cloud features |
| ►NUpdateChecker | |
| CUpdateChecker | |
| ►Nparser | |
| ►NColumnFileParser | |
| CColumnFileParser | A file parser to deserialize one ENLIGHTEN-format Measurement from a column- ordered CSV file |
| ►NDashFileParser | |
| CDashFileParser | Load the specified filename into a list of Measurements |
| CDashMeasurement | Represents data that will go into the next Measurement we generate (or "could", for Dash data we don't actually disposition at this time) |
| CDashSpectrometer | A kind of mini-Spectrometer, holding state about a Spectrometer which will go into the next Measurement we generate |
| ►NExportFileParser | |
| CExportedMeasurement | A temporary pre-Measurement object built-up while reading an export file |
| CExportFileParser | A file parser to deserialize multiple Measurement objects from a column-ordered export file |
| ►NSPCFileParser | |
| CSPCFileParser | This is an SPC file parser, used to load and read SPC files in the ThermoScientific "Galactic" GRAMS SPC format |
| ►NTextFileParser | |
| CTextFileParser | A file parser to deserialize one Measurement from a column-ordered CSV file with no header data |
| ►NPlugins | |
| ►NPluginController | |
| CPluginController | |
| ►NPluginFieldWidget | |
| CPluginFieldWidget | Creates an appropriate Qt GUI widget corresponding to a single input or output EnlightenPluginField, and manages the data updates between the plugin field and its GUI counterpart |
| ►NPluginGraphSeries | |
| CPluginGraphSeries | THIS CLASS IS NOT DONE! |
| ►NPluginModuleInfo | |
| CPluginModuleInfo | Encapsulates information about a specific ENLIGHTEN Plug-In (child of PluginBaseClass) |
| ►NPluginValidator | |
| CPluginValidator | These are routines that I would have put into PluginBaseClass classes, but I can't trust that users won't accidentally contravene / delete / corrupt them when editting, so I'm putting them here |
| ►NPluginWorker | |
| CPluginWorker | This is the lightweight Thread object which "owns and runs" an actual plugin in the background |
| ►NTableModel | |
| CTableModel | A custom QAbstractTableModel taking a Pandas DataFrame as input |
| ►Npost_processing | |
| ►NAbsorbanceFeature | |
| CAbsorbanceFeature | Computes absorbance using Beer's Law |
| ►NAutoRamanFeature | |
| CAutoRamanFeature | This feature controls the (normally-hidden) "Auto-Raman Measurement" button on the Laser Control Widget |
| ►NBaselineCorrection | |
| CBaselineCorrection | Encapsulates baseline correction |
| ►NBoxcarFeature | |
| CBoxcarFeature | Encapsulate the high-frequency noise smoothing "boxcar" filter run at the end of post-processing |
| ►NDarkFeature | |
| CDarkFeature | |
| ►NDespikingFeature | |
| CDespikingFeature | Provides access to the removal of cosmic spikes that could impact analysis |
| ►NElectricalDarkCorrectionFeature | |
| CElectricalDarkCorrectionFeature | |
| ►NHorizROIFeature | |
| CHorizROIFeature | Encapsulate the Horizontal ROI feature |
| ►NInterpolationFeature | |
| CInterpolationFeature | Encapsulates interpolation of a ProcessedReading |
| ►NPixelCalibration | |
| CPixelCalibration | Support any additional pixel calibrations we may want to create which for whatever reason need an external file and can't be kept on the EEPROM |
| ►NRamanIntensityCorrection | |
| CRamanIntensityCorrection | RamanIntensityCorrection uses an EEPROM-stored calibration, generated in the factory with NIST SRM standards, to correct intensity (y-axis) on Raman spectra |
| ►NReferenceFeature | |
| CReferenceFeature | Sufficiently close to DarkFeature that it's tempting to make them one inherit the other, or derive both from a common ABC |
| ►NRichardsonLucy | |
| CRichardsonLucy | Deconvolution filter which sharpens peaks back to their original optical resolution by removing the Gaussian blur point-spread function |
| ►NScanAveragingFeature | |
| CScanAveragingFeature | |
| ►NTakeOneFeature | |
| CTakeOneFeature | Encapsulates the collection of one averaged spectrum (optionally saved), either from one spectrometer or all |
| ►NTransmissionFeature | |
| CTransmissionFeature | |
| ►Nscope | |
| ►NCursor | |
| CAxisConverter | Move to common.AxesHelper? |
| CCursor | Encapsulates the main Graph x-axis cursor (vertical red line) |
| ►NEmissionLamps | |
| CArLamp | AR-1 (argon) |
| CEmissionLamp | Encapsulates static product data about a gas emission lamp for use by the Wavecal business object |
| CEmissionLamps | Convenience class: instantiate one of these to get access to each EmissionLamp |
| CHgArLamp | Hg-1 (mixture of argon and mercury) |
| CKrLamp | Kr-1 (krypton) |
| CNeLamp | Ne-1 (neon) |
| CXeLamp | Xe-1 (xenon) |
| ►NGraph | |
| CGraph | Encapsulate the large graph in the center of ENLIGHTEN's Scope Capture screen |
| ►NGridFeature | |
| CGridFeature | |
| ►NPresetFeature | |
| CPresetFeature | This feature allows the user to save named presets (referring to a snapshot of key acquisition parameters), irrespective of spectrometer serial number |
| ►NRamanShiftCorrectionFeature | |
| CASTMCompound | An ASTMCompound is a set of ASTMPeaks with one "primary" peak wavenumber |
| CASTMPeak | One peak of an ASTMCompound |
| CRamanShiftCorrectionFeature | Implement ASTM 1840-96 (2014) by generating a scalar offset which will be applied to the wavenumber X-axis by taking a live measurement of a known Raman sample and comparing it to the "expected" peak x-coordinates |
| ►Ntiming | |
| ►NBatchCollection | |
| CBatchCollection | Encapsulates batch collection, which is the automated collection of a series of 'measurement_count' Step-And-Save events at a period of 'measurement_period_ms', captured to disk using the configured SaveOptions |
| ►NRamp | |
| CRamp | Provides a generic ramp that ticks a callback with ascending/descending value at a specified rate |
| ►NRollingDataSet | |
| CRollingDataSet | Encapsulates a "moving window" dataset such as used for detector temperature, laser temperature etc |
| ►Nui | |
| ►NAuthentication | |
| CAuthentication | Encapsulates the process of "logging-in" to ENLIGHTEN and enabling or displaying GUI widgets which should only be exposed to certain user classes |
| ►NBasicDialog | |
| CBasicDialog | Wavecal, RamanMatching and RamanConcentration (all deprecated features...) used this for an on-screen text editor for editting models and compound databases in-app |
| ►NBasicWindow | |
| CBasicWindow | The codebase contains myriad references to "Controller.form" and "cfu" – those refer to an object of this class (and its .ui attribute) |
| ►NClipboard | |
| CClipboard | Encapsulates access to the host OS (Windows) copy-paste clipboard, allowing tabular data to be copied from ENLIGHTEN and pasted into other applications like Microsoft Excel |
| ►NColors | |
| CColors | Encapsulate access to stateful / dynamic color information |
| ►NDidYouKnowFeature | |
| CDidYouKnowFeature | Pop-up dialog when ENLIGHTEN launches, informing the user of new or lesser-known features they might otherwise not stumble across or notice in the GUI or manual |
| CTip | Different than GuideFeature.Tip |
| ►NFocusListener | |
| CFocusListener | Currently used by ThumbnailWidget to detect when the user has tabbed or clicked out of an "open edit" QLineEdit |
| ►NGUI | |
| CGUI | This is currently holding "GUI Utility" methods, but may grow to encapsulate more and more of the actual ENLIGHTEN GUI as we continue to prise functionality out of Controller |
| ►NGuideFeature | |
| CGuideFeature | Recommends "tips" that might be suggested to the user through the Marquee |
| CTip | |
| ►NHelpFeature | |
| CHelpFeature | |
| ►NImageResources | |
| CImageResources | Device (model) images come from enlighten/assets/uic_qrc/images/devices |
| ►NMarquee | |
| CMarquee | Encapsulate access to the "message display area" visible along the top of the ENLIGHTEN display |
| CMessage | |
| ►NMouseWheelFilter | |
| CMouseWheelFilter | This should be applied to QVerticalSlider widgets where you don't want the mouse-wheel to affect the widget EVER (whether it's in focus or not) |
| ►NPageNavigation | |
| CPageNavigation | Encapsulates moving around different "screens" of ENLIGHTEN's GUI |
| ►NReadingProgressBar | |
| CReadingProgressBar | |
| ►NResourceMonitorFeature | |
| CResourceMonitorFeature | Was created a few years ago when we had a buried memory leak which only presented on Linux |
| ►NScrollStealFilter | |
| CScrollStealFilter | This should be applied to QSpinbox, QDoubleSpinBox and QComboBox objects where you want the mouse-wheel to be usable AFTER you've clicked to focus the widget, but should not trigger inadvertent events when you've simply "scrolled past" the widget within a QScrollArea |
| ►NSounds | |
| CSound | A single playable sound (.wav file, etc) |
| CSounds | Encapsulates ENLIGHTEN's limited audio capabilities |
| ►NStatusBarFeature | |
| CStatusBarFeature | Encapsulates the horizontal status bar at the bottom of the ENLIGHTEN Scope Capture screen |
| ►NStatusIndicators | |
| CStatusIndicators | Encapsulates the 3 virtual status "LEDs" in the bottom-right of ENLIGHTEN's Scope view: |
| ►NStylesheets | |
| CStylesheets | Encapsulates application of CSS stylesheets to Qt widgets |
| ►NThumbnailWidget | |
| CThumbnailWidget | Encapsulates the visual representation of a saved Measurement in the GUI's "saved spectra" column |
| ►NTimeoutDialog | |
| CTimeoutDialog | |
| ►NVCRControls | |
| CVCRControls | Encapsulate the state, appearance and behavior of the seven VCR-style "Action Buttons" appearing along the top of the Scope Capture screen |
| ►NEnlightenPlugin | |
| CEnlightenPluginBase | Abstract Base Class (ABC) for all ENLIGHTEN-compatible plug-ins |
| CEnlightenPluginConfiguration | Configuration of an entire EnlightenPlugin |
| CEnlightenPluginField | Each ENLIGHTEN plug-in will be visualized in the ENLIGHTEN GUI via a dynamically generated widget in the right-hand scrolling control list |
| CEnlightenPluginRequest | This is a "request" object sent by the ENLIGHTEN GUI to the plug-in, containing a fresh measurement to be processed |
| CEnlightenPluginResponse | After a plug-in has received an EnlightenPluginRequest and processed it, the plug-in should instantiate and send an EnlightenPluginResponse in reply |
| ►NEventHooks | |
| CEventHooks | Demonstration plugin showing how to hook into enlighten.measurement.MeasurementFactory events |
| ►NFactoryStripChartFeature | |
| CFactoryStripChartFeature | Manages the set of strip-charts on the Factory View which graph device characteristics against a time axis |
| ►Nfirmware_update | |
| CFirmwareUpdateExample | |
| ►NFirmwareUpdateExample | |
| CDeviceUpdateInformation | |
| CProgram | |
| ►NHelloWorld | |
| CHelloWorld | Simplest-possible demonstration plugin |
| ►NHiddenFeatures | |
| CHiddenFeatures | |
| ►NIDSPeak | |
| CIDSPeak | Tell the Controller to attempt to connect to an IDS camera via the IDSPeak SDK |
| ►NLibraryMatching | |
| CLibraryMatching | |
| CPearson | |
| ►NLockSettings | |
| CLockSettings | Shows how a plugin can lock various standard ENLIGHTEN features |
| ►Nmain | |
| CCamera | |
| ►Nmainwindow | |
| CMainWindow | |
| ►NMakeOddNegative | |
| CMakeOddNegative | Demonstrate graph possibilities by negating alternating intensities |
| ►NMultichannel | |
| CMultichannel | This plugin is provided to control so-called "multichannel" spectrometer systems where two or more spectrometers (at least eight have been tested) are wired together for simultaneous measurements using "external hardware triggering |
| ►NMultiWaveCal | |
| CMultiWaveCal | This plugin is provided to demonstrate EEPROM Subformat 5, which allows a multi-wavelength calibration to be stored in the spectrometer for use with dual-wavelength gratings |
| ►Nopen_camera | |
| CProgram | |
| ►NPixelNoise | |
| CMetrics | |
| CPixelNoise | A common operation is to characterize detector noise by taking 100 dark measurements, computing the standard deviation over time for each pixel, then taking the average for all pixels |
| ►Nqt_interface | |
| CInterface | Interface provides a GUI to interact with the camera, but it is not necessary to understand how to use the API of ids_peak or ids_peak_ipl |
| ►NRamanLines | |
| CRamanLines | A simple plug-in to add Raman lines from common test samples to the current spectra |
| ►Nreconnect_callbacks | |
| CReconnectExample | |
| ►NReconnectCallbacks | |
| CProgram | |
| ►NRscriptInvoke | |
| CRscriptInvoke | THIS NEEDS RE-DONE USING RPY2! |
| ►NSaveAsAngstrom | |
| CSaveAsAngstrom | This writes received spectra into a custom folder with a different file format than ENLIGHTEN (specifically, wavelength in â„«ngstrom and ABSOLUTE wavenumber (as opposed to "Raman shift in wavenumbers") |
| ►NSavitzkyGolay | |
| CSavitzkyGolay | This plugin applies the Savitzky-Golay smoothing algorithm on the current spectrum |
| ►Nscripts | |
| ►NEnlighten | |
| CEnlightenApplication | Encapsulates processing of command-line arguments, instantiates a Controller then passes control to the Qt framework |
| ►Ninterp-spectra | |
| CRecord | |
| ►Nmerge-spectra | |
| CRecord | |
| ►NSegmentSpectrum | |
| CSegmentSpectrum | A simple plug-in to display a cropped segment of a spectrum |
| ►Nsimple_live_windows_forms | |
| CAcquisitionWorker | |
| CBackEnd | |
| CFormWindow | |
| CProgram | |
| CSimplePictureBox | |
| ►Nsimple_live_wpf | |
| CAcquisitionWorker | |
| CApp | Interaction logic for App.xaml |
| CBackEnd | |
| CMainWindow | Interaction logic for MainWindow.xaml |
| ►NSimpleScaling | |
| CSimpleScaling | Simple plug-in to scale the current spectrum |
| ►NSineAndScale | |
| CSineAndScale | A simple plug-in adding a scaled sine wave to the main graph |
| ►Ntest_gui | |
| CTestGUI | |
| ►Ntest_usb | |
| CTestUSB | |
| ►Nwasatch | This package provides control of Wasatch Photonics spectrometers |
| ►NAbstractUSBDevice | |
| CAbstractUSBDevice | |
| ►NAndorDevice | |
| CAndorDevice | This is the basic implementation of our interface with Andor cameras |
| ►Napplog | |
| CMainLogger | |
| ►NAreaScanImage | |
| CAreaScanImage | |
| ►NAutoRaman | |
| CAutoRaman | Encapsulates Dieter's Auto-Raman algorithm, which optimizes integration time (and gain on XS series spectrometers) to achieve a target window of counts, then uses the configured measurement time to maximize scan averaging at with those acquisition parameters |
| ►NAutoRamanRequest | |
| CAutoRamanRequest | |
| ►NBalanceAcquisition | |
| CBalanceAcquisition | |
| ►NBLEDevice | |
| CBLEDevice | BLE counterpart to our USB WasatchDevice, likewise servicing requests from WrapperWorker in a dedicated spectrometer Thread |
| CGeneric | Encapsulates paired setter and getter accessors for a single attribute |
| CGenerics | Facade to access all Generic attributes in the BLE interface |
| ►NCommandSettings | |
| CCommandSettings | Encapsulates information about the "ControlObject" settings supported by WasatchDevice hardware classes (FID and SP) |
| ►NControlObject | |
| CControlObject | A class holding setting-value pairs sent from ENLIGHTEN to the spectrometer |
| ►NCSVLoader | |
| CCSVLoader | A file parser to deserialize one Measurement from a column-ordered CSV file |
| ►NDetectorRegions | |
| CDetectorRegions | Encapsulates all of the DetectorROI regions that have been configured for the current detetor |
| ►NDetectorROI | |
| CDetectorROI | Single Detector Region-of-Interest for a single "region" of DetectorRegions |
| ►NDeviceFinderBLE | |
| CDeviceFinderBLE | |
| CDiscoveredBLEDevice | |
| ►NDeviceFinderTCP | |
| CDeviceFinderTCP | I started this class, but I'm not sure it's actually needed yet |
| ►NDeviceFinderUSB | |
| CDeviceFinderUSB | Generates a list of DeviceID objects for all connected USB Wasatch Photonics spectrometers |
| ►NDeviceID | |
| CDeviceID | Represents a persistent unique identifier for a spectrometer device (USB, BLE, TCP, whatever) which should remain valid for connected devices in spite of hotplug events around them |
| ►NEEPROM | |
| CEEPROM | Encapsulates the post-read parsing, pre-write marshalling, and current state of the 8-page EEPROM used to store non-volatile configuration data in Wasatch Photonics spectrometers |
| CEEPROMField | |
| CMultiWavelengthCalibration | Subformat 5: Multi-Wavelength |
| ►NFeatureIdentificationDevice | |
| CFeatureIdentificationDevice | This is the basic implementation of our FeatureIdentificationDevice (FID) spectrometer USB API as defined in ENG-0001 |
| CSpectrumAndRow | |
| ►NFirmwareRequirements | |
| CFirmwareRequirements | This is a place to capture developmental, R&D features which are only available in specific firmware versions |
| ►NFPGAOptions | |
| CFPGAOptions | Encapsulate the set of options used to compile the FPGA code in the firmware of the connected spectrometer |
| ►NHardwareInfo | |
| CHardwareInfo | Captures aspects of the hardware which normally ENLIGHTEN can't / shouldn't see, which isn't otherwise reliably inferred from EEPROM, ModelInfo etc |
| ►NIDSCamera | |
| CIDSCamera | Encapsulates access to the IDS Peak SDK |
| ►NIDSDevice | |
| CIDSDevice | |
| ►NIMX385 | |
| CIMX385 | Long-term, it might be worth having separate classes for HorizontalBinning and IMX385, which would allow characteristics for other sensors to go into other classes |
| ►NInterfaceDevice | |
| CInterfaceDevice | |
| ►NMockUSBDevice | |
| CMockUSBDevice | |
| ►NOceanDevice | |
| COceanDevice | This is the basic implementation of our interface with Ocean Spectrometers |
| ►NPollStatus | |
| CPollStatus | Response to XS opcode 0xd4 GET_POLL_DATA |
| ►NProcessedReading | |
| CProcessedReading | Encapsulates anything done to a wasatch.Reading (usually generated by wasatch.WasatchDevice) after it has been received by ENLIGHTEN (usually Controller.process_reading) |
| ►NReading | |
| CReading | A single set of data read from a device |
| ►NRealUSBDevice | |
| CRealUSBDevice | |
| ►NROI | |
| CROI | Encapsulates a Region Of Interest, which may be either horizontal (pixels) or vertical (rows/lines) |
| ►Nsimulation_protocol | |
| CSimulateMaterial | Read recorded spectrum from file, respond with noise on the baseline read from file |
| ►NSpectrometerRequest | |
| CSpectrometerRequest | |
| ►NSpectrometerResponse | |
| CErrorLevel | |
| CSpectrometerResponse | |
| ►NSpectrometerSettings | |
| CSpectrometerSettings | Encapsulate a spectrometer's state, including compiled firmware (FPGAOptions), non-volatile configuration (EEPROM) and volatile state (SpectrometerState) |
| ►NSpectrometerState | |
| CSpectrometerState | Volatile attributes (must persist here for multi-spectrometers) |
| ►NSPIDevice | |
| CCommandTuple | |
| CSPIDevice | This implements SPI communication via the FT232H usb converter |
| ►NStatusMessage | |
| CStatusMessage | An outbound analog to ControlObject |
| ►NTakeOneRequest | |
| CTakeOneRequest | |
| ►NTCPDevice | |
| CMessagePacket | Essentially a 6-byte simplified USB Setup Packet, with bmRequestType removed and wLength reduced to 1 byte |
| CTCPDevice | |
| ►NWasatchBus | |
| CTCPBus | |
| CUSBBus | |
| CWasatchBus | The different bus classes don't use inheritance and don't follow a common ABC or interface, but each should have an update() method, and each should have a 'device_ids' array |
| ►NWasatchDevice | |
| CWasatchDevice | This is the top-level interface for controlling and communicating with Wasatch Photonics USB 2.0 spectrometers using the FeatureInterfaceDevice (FID) protocol as defined in ENG-0001 |
| ►NWasatchDeviceWrapper | |
| CWasatchDeviceWrapper | Wrap WasatchDevice in a non-blocking interface run in a separate thread, using multiprocess.pipes to exchange data (SpectrometerSettings, Readings and StatusMessages) for multiprocessing-safe device communications and acquisition under Windows and Qt |
| ►NWrapperWorker | |
| CWrapperWorker | Continuously process in background thread |
| ►NWISP | |
| CWISP | All this does is take the provided IP address and add it to the Controller's existing WasatchBus object responsible for periodically polling for new spectrometers |
| ►NWorek | |
| CWorek | |
| CAcquisitionWorker | |
| CAutoFeatures | |
| CBackEnd | |
| CCamera | |
| CChronometer | |
| CConfigDialog | |
| CCustomDisplay | |
| CCustomGraphicsScene | |
| CCustomGraphicsView | |
| CDevice | |
| CDeviceContext | |
| CDeviceUpdateInformation | |
| CDisplayWindow | |
| CDoubleSlider | |
| CEntryListModel | |
| CEntryListObject | |
| CFloatControl | |
| CFormWindow | A strongly-typed resource class, for looking up localized strings, etc |
| CFrameStatistics | |
| CImageConverterWorker | |
| CImageItem | |
| CImageScene | |
| CImageView | |
| CMainWindow | |
| CModelUpdateThreadWorker | |
| CNodeListModel | |
| CNodeListObject | |
| CPropertyControlBool | |
| CPropertyControlCommand | |
| CPropertyControlEnum | |
| CPropertyControlFloat | |
| CPropertyControlInteger | |
| CSoftwareTriggerWorker |