diff --git a/cuvis/FileWriteSettings.py b/cuvis/FileWriteSettings.py index ec72d50..c72f546 100644 --- a/cuvis/FileWriteSettings.py +++ b/cuvis/FileWriteSettings.py @@ -1,9 +1,14 @@ from ._cuvis_il import cuvis_il from .cuvis_aux import SDKException -from .cuvis_types import PanSharpeningInterpolationType, \ - PanSharpeningAlgorithm, \ - TiffCompressionMode, TiffFormat, \ - OperationMode, ProcessingMode +from .cuvis_types import ( + PanSharpeningInterpolationType, + PanSharpeningAlgorithm, + TiffCompressionMode, + TiffFormat, + OperationMode, + ProcessingMode, + SessionMergeMode, +) import cuvis.cuvis_types as internal import os @@ -13,12 +18,16 @@ @dataclass class GeneralExportSettings(object): - export_dir: str = '.' - channel_selection: str = 'all' + export_dir: str = "." + channel_selection: str = "all" spectra_multiplier: int = 1 pan_scale: float = 0.0 - pan_sharpening_interpolation_type: PanSharpeningInterpolationType = PanSharpeningInterpolationType.Linear - pan_sharpening_algorithm: PanSharpeningAlgorithm = PanSharpeningAlgorithm.CubertMacroPixel + pan_sharpening_interpolation_type: PanSharpeningInterpolationType = ( + PanSharpeningInterpolationType.Linear + ) + pan_sharpening_algorithm: PanSharpeningAlgorithm = ( + PanSharpeningAlgorithm.CubertMacroPixel + ) pre_pan_sharpen_cube: bool = False add_pan: bool = False add_fullscale_pan: bool = False @@ -31,9 +40,11 @@ def _get_internal(self): ge.spectra_multiplier = int(self.spectra_multiplier) ge.pan_scale = float(self.pan_scale) ge.pan_interpolation_type = internal.__CuvisPanSharpeningInterpolationType__[ - self.pan_sharpening_interpolation_type] + self.pan_sharpening_interpolation_type + ] ge.pan_algorithm = internal.__CuvisPanSharpeningAlgorithm__[ - self.pan_sharpening_algorithm] + self.pan_sharpening_algorithm + ] ge.pre_pan_sharpen_cube = int(self.pre_pan_sharpen_cube) ge.add_pan = int(self.add_pan) ge.add_fullscale_pan = int(self.add_fullscale_pan) @@ -42,30 +53,32 @@ def _get_internal(self): @classmethod def _from_internal(cls, ge: cuvis_il.cuvis_export_general_settings_t): - return cls(export_dir=ge.export_dir, - channel_selection=ge.channel_selection, - spectra_multiplier=ge.spectra_multiplier, - pan_sharpening_interpolation_type=internal.__PanSharpeningInterpolationType__[ - ge.pan_interpolation_type], - pan_sharpening_algorithm=internal.__PanSharpeningAlgorithm__[ - ge.pan_algorithm], - pre_pan_sharpen_cube=ge.pre_pan_sharpen_cube, - add_pan=bool(ge.add_pan), - add_fullscale_pan=bool(ge.add_fullscale_pan), - permissive=bool(ge.permissive)) + return cls( + export_dir=ge.export_dir, + channel_selection=ge.channel_selection, + spectra_multiplier=ge.spectra_multiplier, + pan_sharpening_interpolation_type=internal.__PanSharpeningInterpolationType__[ + ge.pan_interpolation_type + ], + pan_sharpening_algorithm=internal.__PanSharpeningAlgorithm__[ + ge.pan_algorithm + ], + pre_pan_sharpen_cube=ge.pre_pan_sharpen_cube, + add_pan=bool(ge.add_pan), + add_fullscale_pan=bool(ge.add_fullscale_pan), + permissive=bool(ge.permissive), + ) @dataclass class EnviExportSettings(GeneralExportSettings): - def _get_internal(self): ge = super()._get_internal() es = None return ge, es @classmethod - def _from_internal(cls, - ge: cuvis_il.cuvis_export_general_settings_t, es): + def _from_internal(cls, ge: cuvis_il.cuvis_export_general_settings_t, es): ge = super()._from_internal(ge) return cls(**ge.__dict__) @@ -79,19 +92,23 @@ def _get_internal(self): ge = super()._get_internal() ts = cuvis_il.cuvis_export_tiff_settings_t() ts.compression_mode = internal.__CuvisTiffCompressionMode__[ - self.compression_mode] + self.compression_mode + ] ts.format = internal.__CuvisTiffFormat__[self.format] return ge, ts @classmethod - def _from_internal(cls, - ge: cuvis_il.cuvis_export_general_settings_t, - ts: cuvis_il.cuvis_export_tiff_settings_t): + def _from_internal( + cls, + ge: cuvis_il.cuvis_export_general_settings_t, + ts: cuvis_il.cuvis_export_tiff_settings_t, + ): ge = super()._from_internal(ge) - return cls(**ge.__dict__, - compression_mode=internal.__TiffCompressionMode__[ - ts.compression_mode], - format=internal.__TiffFormat__[ts.format]) + return cls( + **ge.__dict__, + compression_mode=internal.__TiffCompressionMode__[ts.compression_mode], + format=internal.__TiffFormat__[ts.format], + ) @dataclass(repr=False) @@ -101,7 +118,10 @@ class ViewExportSettings(GeneralExportSettings): def __post_init__(self, userplugin: str): if userplugin is not None: - if '' in userplugin: + if ( + '' + in userplugin + ): # Seems to be a valid plugin self._userplugin = userplugin return @@ -111,7 +131,8 @@ def __post_init__(self, userplugin: str): self._userplugin = "".join(f.readlines()) else: raise SDKException( - 'Error when validating plugin data. Please provide a valid plugin or a path to a plugin file') + "Error when validating plugin data. Please provide a valid plugin or a path to a plugin file" + ) @property def userplugin(self) -> str: @@ -123,12 +144,14 @@ def userplugin(self, v: str) -> None: def __repr__(self): def short_str(s: str, l: int) -> str: - return (s[:l] + '...') if len(s) > l else s + return (s[:l] + "...") if len(s) > l else s """Returns a string containing but shortens the userplugin field.""" - s = ', '.join(list(f'{field.name}={getattr(self, field.name)}' - for field in fields(self)) + [f'userplugin={short_str(self._userplugin, 15)}']) - return f'{type(self).__name__}({s})' + s = ", ".join( + list(f"{field.name}={getattr(self, field.name)}" for field in fields(self)) + + [f"userplugin={short_str(self._userplugin, 15)}"] + ) + return f"{type(self).__name__}({s})" def _get_internal(self): ge = super()._get_internal() @@ -138,17 +161,20 @@ def _get_internal(self): return ge, vs @classmethod - def _from_internal(cls, - ge: cuvis_il.cuvis_export_general_settings_t, - vs: cuvis_il.cuvis_viewer_settings_t): + def _from_internal( + cls, + ge: cuvis_il.cuvis_export_general_settings_t, + vs: cuvis_il.cuvis_viewer_settings_t, + ): ge = super()._from_internal(ge) - return cls(**ge.__dict__, - userplugin=vs.userplugin, pan_failback=vs.pan_failback) + return cls( + **ge.__dict__, userplugin=vs.userplugin, pan_failback=vs.pan_failback + ) @dataclass class SaveArgs(GeneralExportSettings): - allow_overwrite: bool = False + merge_mode: SessionMergeMode = SessionMergeMode.Default allow_fragmentation: bool = False allow_drop: bool = False allow_session_file: bool = True @@ -163,13 +189,11 @@ class SaveArgs(GeneralExportSettings): def _get_internal(self): ge = super()._get_internal() sa = cuvis_il.cuvis_save_args_t() - sa.allow_overwrite = int(self.allow_overwrite) - sa.allow_fragmentation = int(self.allow_fragmentation) + sa.merge_mode = internal.__CuvisSessionMergeMode__(self.merge_mode) sa.allow_drop = int(self.allow_drop) sa.allow_session_file = int(self.allow_session_file) sa.allow_info_file = int(self.allow_info_file) - sa.operation_mode = internal.__CuvisOperationMode__[ - self.operation_mode] + sa.operation_mode = internal.__CuvisOperationMode__[self.operation_mode] sa.fps = int(self.fps) sa.soft_limit = int(self.soft_limit) sa.hard_limit = int(self.hard_limit) @@ -178,24 +202,27 @@ def _get_internal(self): return ge, sa @classmethod - def _from_internal(cls, - ge: cuvis_il.cuvis_export_general_settings_t, - sa: cuvis_il.cuvis_save_args_t): + def _from_internal( + cls, + ge: cuvis_il.cuvis_export_general_settings_t, + sa: cuvis_il.cuvis_save_args_t, + ): ge = super()._from_internal(ge) - return cls(**ge.__dict__, - allow_overwrite=bool(sa.allow_overwrite), - allow_fragmentation=bool(sa.allow_fragmentation), - allow_drop=bool(sa.allow_drop), - allow_session_file=bool(sa.allow_session_file), - allow_info_file=bool(sa.allow_info_file), - operation_mode=internal.__OperationMode__[ - sa.operation_mode], - fps=sa.fps, - soft_limit=sa.soft_limit, - hard_limit=sa.hard_limit, - max_buftime=sa.max_buftime, - full_export=sa.full_export - ) + return cls( + **ge.__dict__, + allow_overwrite=bool(sa.allow_overwrite), + merge_mode=internal.__SessionMergeMode__[sa.merge_mode], + allow_fragmentation=bool(sa.allow_fragmentation), + allow_drop=bool(sa.allow_drop), + allow_session_file=bool(sa.allow_session_file), + allow_info_file=bool(sa.allow_info_file), + operation_mode=internal.__OperationMode__[sa.operation_mode], + fps=sa.fps, + soft_limit=sa.soft_limit, + hard_limit=sa.hard_limit, + max_buftime=sa.max_buftime, + full_export=sa.full_export, + ) @dataclass @@ -206,14 +233,15 @@ class ProcessingArgs(object): def _get_internal(self): pa = cuvis_il.cuvis_proc_args_t() pa.allow_recalib = int(self.allow_recalib) - pa.processing_mode = int(internal.__CuvisProcessingMode__[ - self.processing_mode]) + pa.processing_mode = int(internal.__CuvisProcessingMode__[self.processing_mode]) return pa @classmethod def _from_internal(cls, pa: cuvis_il.cuvis_proc_args_t): - return cls(allow_recalib=bool(pa.allow_recalib), - processing_mode=internal.__ProcessingMode__[pa.processing_mode]) + return cls( + allow_recalib=bool(pa.allow_recalib), + processing_mode=internal.__ProcessingMode__[pa.processing_mode], + ) @dataclass @@ -233,18 +261,21 @@ def _get_internal(self): wa.supplementary_queue_size = int(self.supplementary_queue_size) wa.output_queue_size = int(self.output_queue_size) wa.can_skip_measurements = int(self.can_skip_measurements) - wa.can_skip_supplementary_steps = int( - self.can_skip_supplementary_steps) + wa.can_skip_supplementary_steps = int(self.can_skip_supplementary_steps) wa.can_drop_results = int(self.can_drop_results) return wa @dataclass(repr=False) -class ViewerSettings(): +class ViewerSettings: userplugin: InitVar[str] = None pan_scale: float = 0.0 - pan_sharpening_interpolation_type: PanSharpeningInterpolationType = PanSharpeningInterpolationType.Linear - pan_sharpening_algorithm: PanSharpeningAlgorithm = PanSharpeningAlgorithm.CubertMacroPixel + pan_sharpening_interpolation_type: PanSharpeningInterpolationType = ( + PanSharpeningInterpolationType.Linear + ) + pan_sharpening_algorithm: PanSharpeningAlgorithm = ( + PanSharpeningAlgorithm.CubertMacroPixel + ) pre_pan_sharpen_cube: bool = False complete: bool = False blend_opacity: float = 0.0 @@ -252,7 +283,10 @@ class ViewerSettings(): def __post_init__(self, userplugin: str): if userplugin is not None: - if '' in userplugin: + if ( + '' + in userplugin + ): # Seems to be a valid plugin self._userplugin = userplugin return @@ -262,7 +296,8 @@ def __post_init__(self, userplugin: str): self._userplugin = "".join(f.readlines()) else: raise SDKException( - 'Error when validating plugin data. Please provide a valid plugin or a path to a plugin file') + "Error when validating plugin data. Please provide a valid plugin or a path to a plugin file" + ) @property def userplugin(self) -> str: @@ -274,21 +309,25 @@ def userplugin(self, v: str) -> None: def __repr__(self): def short_str(s: str, l: int) -> str: - return (s[:l] + '...') if len(s) > l else s + return (s[:l] + "...") if len(s) > l else s """Returns a string containing but shortens the userplugin field.""" - s = ', '.join(list(f'{field.name}={getattr(self, field.name)}' - for field in fields(self)) + [f'userplugin={short_str(self._userplugin, 15)}']) - return f'{type(self).__name__}({s})' + s = ", ".join( + list(f"{field.name}={getattr(self, field.name)}" for field in fields(self)) + + [f"userplugin={short_str(self._userplugin, 15)}"] + ) + return f"{type(self).__name__}({s})" def _get_internal(self): vs = cuvis_il.cuvis_viewer_settings_t() vs.userplugin = self.userplugin vs.pan_scale = float(self.pan_scale) vs.pan_interpolation_type = internal.__CuvisPanSharpeningInterpolationType__[ - self.pan_sharpening_interpolation_type] + self.pan_sharpening_interpolation_type + ] vs.pan_algorithm = internal.__CuvisPanSharpeningAlgorithm__[ - self.pan_sharpening_algorithm] + self.pan_sharpening_algorithm + ] vs.pre_pan_sharpen_cube = int(self.pre_pan_sharpen_cube) vs.complete = int(self.complete) vs.blend_opacity = float(self.blend_opacity) @@ -297,13 +336,17 @@ def _get_internal(self): @classmethod def _from_internal(cls, vs: cuvis_il.cuvis_viewer_settings_t): - return cls(userplugin=vs.userplugin, - pan_scale=float(vs.pan_scale), - pan_sharpening_interpolation_type=internal.__PanSharpeningInterpolationType__[ - vs.pan_interpolation_type], - pan_sharpening_algorithm=internal.__PanSharpeningAlgorithm__[ - vs.pan_algorithm], - pre_pan_sharpen_cube=bool(vs.pre_pan_sharpen_cube), - complete=bool(vs.complete), - blend_opacity=float(vs.blend_opacity), - pan_failback=bool(vs.pan_failback)) + return cls( + userplugin=vs.userplugin, + pan_scale=float(vs.pan_scale), + pan_sharpening_interpolation_type=internal.__PanSharpeningInterpolationType__[ + vs.pan_interpolation_type + ], + pan_sharpening_algorithm=internal.__PanSharpeningAlgorithm__[ + vs.pan_algorithm + ], + pre_pan_sharpen_cube=bool(vs.pre_pan_sharpen_cube), + complete=bool(vs.complete), + blend_opacity=float(vs.blend_opacity), + pan_failback=bool(vs.pan_failback), + ) diff --git a/cuvis/__init__.py b/cuvis/__init__.py index e20a2cb..9bcb06c 100644 --- a/cuvis/__init__.py +++ b/cuvis/__init__.py @@ -1,16 +1,40 @@ -from .cuvis_aux import SessionData, Capabilities, MeasurementFlags, SensorInfo, GPSData, CalibrationInfo -from .cuvis_types import OperationMode, HardwareState, ProcessingMode, PanSharpeningInterpolationType, \ - PanSharpeningAlgorithm, TiffCompressionMode, TiffFormat, ComponentType, ReferenceType, SessionItemType +from .cuvis_aux import ( + SessionData, + Capabilities, + MeasurementFlags, + SensorInfo, + GPSData, + CalibrationInfo, +) +from .cuvis_types import ( + OperationMode, + HardwareState, + ProcessingMode, + PanSharpeningInterpolationType, + PanSharpeningAlgorithm, + TiffCompressionMode, + TiffFormat, + ComponentType, + ReferenceType, + SessionItemType, + SessionMergeMode, +) from .Worker import Worker, WorkerResult from .Viewer import Viewer from .SessionFile import SessionFile from .ProcessingContext import ProcessingContext from .Measurement import Measurement from .General import init, shutdown, version, set_log_level -from .FileWriteSettings import GeneralExportSettings, SaveArgs, \ - ProcessingArgs, \ - EnviExportSettings, TiffExportSettings, ViewExportSettings, \ - WorkerSettings, ViewerSettings +from .FileWriteSettings import ( + GeneralExportSettings, + SaveArgs, + ProcessingArgs, + EnviExportSettings, + TiffExportSettings, + ViewExportSettings, + WorkerSettings, + ViewerSettings, +) from .Export import CubeExporter, EnviExporter, TiffExporter, ViewExporter from .Calibration import Calibration from .AcquisitionContext import AcquisitionContext @@ -21,17 +45,17 @@ lib_dir = os.getenv("CUVIS") if lib_dir is None: - print('CUVIS environmental variable is not set!') + print("CUVIS environmental variable is not set!") sys.exit(1) if platform.system() == "Windows": os.add_dll_directory(lib_dir) add_il = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) - os.environ['PATH'] += os.pathsep + add_il + os.environ["PATH"] += os.pathsep + add_il sys.path.append(str(add_il)) -elif platform.system() == 'Linux': - os.environ['PATH'] = lib_dir + os.pathsep + os.environ['PATH'] +elif platform.system() == "Linux": + os.environ["PATH"] = lib_dir + os.pathsep + os.environ["PATH"] else: - raise NotImplementedError('Invalid operating system detected!') + raise NotImplementedError("Invalid operating system detected!") # sys.exit(1) diff --git a/cuvis/cuvis_types.py b/cuvis/cuvis_types.py index 9c9140b..cb61b5c 100644 --- a/cuvis/cuvis_types.py +++ b/cuvis/cuvis_types.py @@ -20,7 +20,7 @@ logging.WARNING: cuvis_il.loglevel_warning, logging.ERROR: cuvis_il.loglevel_error, logging.FATAL: cuvis_il.loglevel_fatal, - logging.CRITICAL: cuvis_il.loglevel_fatal + logging.CRITICAL: cuvis_il.loglevel_fatal, } @@ -62,7 +62,7 @@ class ProcessingMode(Enum): ProcessingMode.Raw: cuvis_il.Cube_Raw, ProcessingMode.DarkSubtract: cuvis_il.Cube_DarkSubtract, ProcessingMode.Reflectance: cuvis_il.Cube_Reflectance, - ProcessingMode.SpectralRadiance: cuvis_il.Cube_SpectralRadiance + ProcessingMode.SpectralRadiance: cuvis_il.Cube_SpectralRadiance, } __ProcessingMode__ = __inverseTranslationDict(__CuvisProcessingMode__) @@ -92,7 +92,7 @@ class ReferenceType(Enum): ReferenceType.White: cuvis_il.Reference_White, ReferenceType.WhiteDark: cuvis_il.Reference_WhiteDark, ReferenceType.SpRad: cuvis_il.Reference_SpRad, - ReferenceType.Distance: cuvis_il.Reference_Distance + ReferenceType.Distance: cuvis_il.Reference_Distance, } __ReferenceType__ = __inverseTranslationDict(__CuvisReferenceType__) @@ -107,15 +107,10 @@ class SessionItemType(Enum): __CuvisSessionItemType__ = { SessionItemType.all_frames: cuvis_il.session_item_type_frames, SessionItemType.no_gaps: cuvis_il.session_item_type_frames_no_gaps, - SessionItemType.references: cuvis_il.session_item_type_references + SessionItemType.references: cuvis_il.session_item_type_references, } -DataFormat = dict({ - (1, np.uint8), - (2, np.uint16), - (3, np.uint32), - (4, np.float32) -}) +DataFormat = dict({(1, np.uint8), (2, np.uint16), (3, np.uint32), (4, np.float32)}) class PanSharpeningInterpolationType(Enum): @@ -126,15 +121,15 @@ class PanSharpeningInterpolationType(Enum): __CuvisPanSharpeningInterpolationType__ = { - PanSharpeningInterpolationType.NearestNeighbour: - cuvis_il.pan_sharpening_interpolation_type_NearestNeighbor, + PanSharpeningInterpolationType.NearestNeighbour: cuvis_il.pan_sharpening_interpolation_type_NearestNeighbor, PanSharpeningInterpolationType.Linear: cuvis_il.pan_sharpening_interpolation_type_Linear, PanSharpeningInterpolationType.Cubic: cuvis_il.pan_sharpening_interpolation_type_Cubic, PanSharpeningInterpolationType.Lanczos: cuvis_il.pan_sharpening_interpolation_type_Lanczos, } __PanSharpeningInterpolationType__ = __inverseTranslationDict( - __CuvisPanSharpeningInterpolationType__) + __CuvisPanSharpeningInterpolationType__ +) class PanSharpeningAlgorithm(Enum): @@ -148,11 +143,10 @@ class PanSharpeningAlgorithm(Enum): PanSharpeningAlgorithm.Noop: cuvis_il.pan_sharpening_algorithm_Noop, PanSharpeningAlgorithm.CubertMacroPixel: cuvis_il.pan_sharpening_algorithm_CubertMacroPixel, PanSharpeningAlgorithm.CubertPanRatio: cuvis_il.pan_sharpening_algorithm_CubertPanRatio, - PanSharpeningAlgorithm.AlphaBlendOverlay: cuvis_il.pan_sharpening_algorithm_AlphablendPanOverlay + PanSharpeningAlgorithm.AlphaBlendOverlay: cuvis_il.pan_sharpening_algorithm_AlphablendPanOverlay, } -__PanSharpeningAlgorithm__ = __inverseTranslationDict( - __CuvisPanSharpeningAlgorithm__) +__PanSharpeningAlgorithm__ = __inverseTranslationDict(__CuvisPanSharpeningAlgorithm__) class TiffCompressionMode(Enum): @@ -165,8 +159,7 @@ class TiffCompressionMode(Enum): TiffCompressionMode.LZW: cuvis_il.tiff_compression_mode_LZW, } -__TiffCompressionMode__ = __inverseTranslationDict( - __CuvisTiffCompressionMode__) +__TiffCompressionMode__ = __inverseTranslationDict(__CuvisTiffCompressionMode__) class TiffFormat(Enum): @@ -229,6 +222,21 @@ class ComponentType(Enum): __ComponentType__ = __inverseTranslationDict(__CuvisComponentType__) +class SessionMergeMode(Enum): + Default = 0 + Fragmentation = 1 + Merge = 2 + + +__CuvisSessionMergeMode__ = { + SessionMergeMode.Default: cuvis_il.session_merge_mode_Default, + SessionMergeMode.Fragmentation: cuvis_il.session_merge_mode_Fragmentation, + SessionMergeMode.Merge: cuvis_il.session_merge_mode_Merge, +} + +__SessionMergeMode__ = __inverseTranslationDict(__CuvisSessionMergeMode__) + + class AsyncResult(Enum): done = 0 timeout = 1 @@ -236,59 +244,43 @@ class AsyncResult(Enum): deferred = 3 -CUVIS_imbuffer_format = dict({ - ("imbuffer_format_uint8", cuvis_il.imbuffer_format_uint8), - ("imbuffer_format_uint16", cuvis_il.imbuffer_format_uint16), - ("imbuffer_format_uint32", cuvis_il.imbuffer_format_uint32), - ("imbuffer_format_float", cuvis_il.imbuffer_format_float), -}) +CUVIS_imbuffer_format = dict( + { + ("imbuffer_format_uint8", cuvis_il.imbuffer_format_uint8), + ("imbuffer_format_uint16", cuvis_il.imbuffer_format_uint16), + ("imbuffer_format_uint32", cuvis_il.imbuffer_format_uint32), + ("imbuffer_format_float", cuvis_il.imbuffer_format_float), + } +) __CuvisCapabilities__ = { "AcquisitionCapture": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_CAPTURE, - "AcquisitionTimelapse": - cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_TIMELAPSE, - "AcquisitionContinuous": - cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_CONTINUOUS, - - "AcquisitionSnapshot": - cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_SNAPSHOT, - "AcquisitionSetIntegrationtime": - cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_SETINTEGRATIONTIME, + "AcquisitionTimelapse": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_TIMELAPSE, + "AcquisitionContinuous": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_CONTINUOUS, + "AcquisitionSnapshot": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_SNAPSHOT, + "AcquisitionSetIntegrationtime": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_SETINTEGRATIONTIME, "AcquisitionSetGain": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_SETGAIN, - "AcquisitionAveraging": - cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_AVERAGING, - "ProcessingSensorRaw": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SENSOR_RAW, + "AcquisitionAveraging": cuvis_il.CUVIS_MODE_CAPABILITY_ACQUISITION_AVERAGING, + "ProcessingSensorRaw": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SENSOR_RAW, "ProcessingCubeRaw": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_RAW, "ProcessingCubeRef": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_REF, - "ProcessingCubeDarkSubtract": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_DARKSUBTRACT, - "ProcessingCubeFlatFielding": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_FLATFIELDING, - "ProcessingCubeSpectralRadiance": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_SPECTRALRADIANCE, + "ProcessingCubeDarkSubtract": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_DARKSUBTRACT, + "ProcessingCubeFlatFielding": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_FLATFIELDING, + "ProcessingCubeSpectralRadiance": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CUBE_SPECTRALRADIANCE, "ProcessingSaveFile": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SAVE_FILE, "ProcessingClearRaw": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CLEAR_RAW, "ProcessingCalcLive": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_CALC_LIVE, - "ProcessingAutoExposure": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_AUTOEXPOSURE, - "ProcessingOrientation": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_ORIENTATION, + "ProcessingAutoExposure": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_AUTOEXPOSURE, + "ProcessingOrientation": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_ORIENTATION, "ProcessingSetWhite": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_WHITE, "ProcessingSetDark": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_DARK, - "ProcessingSetSprad": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_SPRADCALIB, - "ProcessingSetDistanceCalib": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_DISTANCECALIB, - "ProcessingSetDistanceValue": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_DISTANCE_VALUE, - "ProcessingUseDarkSpradcalib": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_USE_DARK_SPRADCALIB, - "ProcessingUseWhiteSpradCalib": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_USE_WHITE_SPRADCALIB, - "ProcessingRequireWhiteDarkReflectance": - cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_REQUIRE_WHITEDARK_REFLECTANCE, - "UNDEFINED": 2 ** 26 + "ProcessingSetSprad": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_SPRADCALIB, + "ProcessingSetDistanceCalib": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_DISTANCECALIB, + "ProcessingSetDistanceValue": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_SET_DISTANCE_VALUE, + "ProcessingUseDarkSpradcalib": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_USE_DARK_SPRADCALIB, + "ProcessingUseWhiteSpradCalib": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_USE_WHITE_SPRADCALIB, + "ProcessingRequireWhiteDarkReflectance": cuvis_il.CUVIS_MODE_CAPABILITY_PROCESSING_REQUIRE_WHITEDARK_REFLECTANCE, + "UNDEFINED": 2**26, } __Capabilities__ = __inverseTranslationDict(__CuvisCapabilities__)