diff --git a/rsciio/tests/test_trivista.py b/rsciio/tests/test_trivista.py index 1b02b5ee1..a8661d93d 100644 --- a/rsciio/tests/test_trivista.py +++ b/rsciio/tests/test_trivista.py @@ -151,7 +151,7 @@ def test_metadata(self): assert metadata["Acquisition_instrument"]["Detector"]["glued_spectrum"] == False assert ( metadata["Acquisition_instrument"]["Detector"]["processing"]["calc_average"] - == "True" + == True ) np.testing.assert_allclose( metadata["Acquisition_instrument"]["Detector"]["exposure_per_frame"], 1 @@ -213,7 +213,7 @@ def test_original_metadata(self): "FileInfoSerialized": {"Info": {"Groups": None}}, }, "Document": { - "Version": "2", + "Version": 2, "Label": "Intensity", "DataLabel": "Counts", "DocType": "Spectra", @@ -223,46 +223,46 @@ def test_original_metadata(self): "Encoding": "Ascii", "ColorMode": "Grayscale", "ViewDisplayMode": "Graph", - "ViewImageColorMode": "False", + "ViewImageColorMode": False, "InfoSerialized": { "Document": {"Record Time": "6/14/2022 1:34 PM"}, "Experiment": {"Used Setup": "PL_Stage3_750g"}, "Spectrometers": { "Spectrometer": { - "Serialnumber": "27580185", + "Serialnumber": 27580185, "Model": "SP-2-750i", - "Stage_Number": "1", - "Focallength": "749", - "Inclusion_Angle": "6.5", - "Detector_Angle": "0.68", + "Stage_Number": 1, + "Focallength": 749, + "Inclusion_Angle": 6.5, + "Detector_Angle": 0.68, "Groove_Density": "750 g/mm", - "Order": "1", - "Slit_Entrance-Front": "200", - "Slit_Entrance-Side": "0", - "Slit_Exit-Front": "0", - "Slit_Exit-Side": "0", + "Order": 1, + "Slit_Entrance-Front": 200, + "Slit_Entrance-Side": 0, + "Slit_Exit-Front": 0, + "Slit_Exit-Side": 0, } }, "Detector": { "Name": "Camera1", "Serialnumber": None, "Detector_Size": "1024;1", - "Detector_Temperature": "-25", - "Exposure_Time_(ms)": "1000", + "Detector_Temperature": -25, + "Exposure_Time_(ms)": 1000, "Exposure_Mode": None, - "No_of_Accumulations": "1", - "Calc_Average": "True", - "No_of_Frames": "1", + "No_of_Accumulations": 1, + "Calc_Average": True, + "No_of_Frames": 1, "ADC__Readout_Port": "Normal", "ADC__Rate_Resolution": "1 MHz", - "ADC__Gain": "2", + "ADC__Gain": 2, "Clearing__Mode": None, - "Clearing__No_of_Cleans": "1", + "Clearing__No_of_Cleans": 1, "Region_of_Interests": "1|1;1024;1;1;1;1", }, "Calibration": { - "Center_Wavelength": "815.000", - "Laser_Wavelength": "0.000", + "Center_Wavelength": 815.0, + "Laser_Wavelength": 0.0, }, }, }, @@ -271,12 +271,12 @@ def test_original_metadata(self): "Spectrometer": { "Gratings": { "Grating": { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -291,31 +291,31 @@ def test_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "500", + "MaxWidth": 12000, + "Position": 500, }, "SlitExitFront": { "Name": "S3", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -323,37 +323,37 @@ def test_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "37a2855b-db41-4268-970b-bb75d96e5654", "Model": "SP-2-750i", - "Serialnumber": "27580185", - "FocalLength": "749", - "InclusionAngle": "6.500", - "InclusionAngleAdditive": "39.000", - "DetectorAngle": "0.680", - "PixelWidthExitFront": "25.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 27580185, + "FocalLength": 749, + "InclusionAngle": 6.5, + "InclusionAngleAdditive": 39.0, + "DetectorAngle": 0.68, + "PixelWidthExitFront": 25.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM5", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "850.184", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": 850.184, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, - "Count": "3", + "Count": 3, }, "Detectors": { "Detector": { @@ -362,137 +362,137 @@ def test_original_metadata(self): "Name": "Camera1", "DisplayName": "Camera1", "SerialNumber": "", - "DetectorType": "None", + "DetectorType": None, "Size": "1024;1", - "OpenAtStartup": "False", + "OpenAtStartup": False, "Usage": "Default", }, - "Count": "3", + "Count": 3, }, - "SinglePointDetectors": {"Count": "0"}, + "SinglePointDetectors": {"Count": 0}, "LightSources": { "LightSource": [ { - "Wavelengths": {"Count": "1", "Value_0": "0.000"}, + "Wavelengths": {"Count": 1, "Value_0": 0.0}, "GUID": "a57ac71a-c667-4501-a24a-596bc54b2c8c", "Name": "Calibration Lamp", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "0"}, + "Wavelengths": {"Count": 0}, "GUID": "cac03351-735e-4592-9bb2-c17f64b3649f", "Name": "Calibration Lamp2", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "0"}, + "Wavelengths": {"Count": 0}, "GUID": "84a08bee-227a-46f0-b1e1-0f171808a155", "Name": "Calibration Lamp3", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "1", "Value_0": "0.000"}, + "Wavelengths": {"Count": 1, "Value_0": 0.0}, "GUID": "a0601d22-23a0-4587-bb79-35d5823916c4", "Name": "Laser", "Serialnumber": "", - "FixedWavelength": "False", - "CanChange": "False", + "FixedWavelength": False, + "CanChange": False, "Type": "Laser", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "1", "Value_0": "790.000"}, + "Wavelengths": {"Count": 1, "Value_0": 790.0}, "GUID": "a36b29da-0d54-4ab7-860c-967269f76217", "Name": "tisa", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "True", + "FixedWavelength": True, + "CanChange": True, "Type": "Laser", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, ], - "Count": "5", + "Count": 5, }, - "ArduinoHardware": {"Count": "0"}, - "Additionals": {"Count": "0"}, + "ArduinoHardware": {"Count": 0}, + "Additionals": {"Count": 0}, "MotorizedStages": { "MotorizedStage": { "GUID": "c551372e-56af-4686-b7c1-48ca00dfdf27", "DriverName": "Tango Driver", "Name": "XY-Stage", "ConnectionString": "COM15", - "Serialnumber": "144012056", - "IsTriggerModeAvailable": "False", + "Serialnumber": 144012056, + "IsTriggerModeAvailable": False, }, - "Count": "1", + "Count": 1, }, "Microscopes": { "Microscope": { "Objectives": { "Objective": { - "IsEnabled": "True", + "IsEnabled": True, "Name": "100x", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, - "Count": "10", + "Count": 10, }, "GUID": "841bfef9-b969-43f0-9ca3-2522c223a31f", "Name": "Microscope", "StageID": "c551372e-56af-4686-b7c1-48ca00dfdf27", "ImagingCameraID": "", - "RamanBoxAvailable": "True", - "RamanBoxLinearStage.Available": "False", + "RamanBoxAvailable": True, + "RamanBoxLinearStage.Available": False, "RamanBoxLinearStage.ConnectedHarwareID": "", - "RamanBoxFilterWheel.Available": "False", + "RamanBoxFilterWheel.Available": False, "RamanBoxFilterWheel.ConnectedHarwareID": "", - "RamanBoxBeamSplitter.Available": "False", + "RamanBoxBeamSplitter.Available": False, "RamanBoxBeamSplitter.ConnectedHarwareID": "", - "RamanBoxNotchFilter.Available": "False", + "RamanBoxNotchFilter.Available": False, "RamanBoxNotchFilter.ConnectedHarwareID": "", - "ActiveObjectiveIndex": "0", + "ActiveObjectiveIndex": 0, }, - "Count": "2", + "Count": 2, }, - "Cryostats": {"Count": "0"}, - "Version": "2", + "Cryostats": {"Count": 0}, + "Version": 2, }, } @@ -509,7 +509,7 @@ def test_unfiltered_original_metadata(self): "FileInfoSerialized": {"Info": {"Groups": None}}, }, "Document": { - "Version": "2", + "Version": 2, "Label": "Intensity", "DataLabel": "Counts", "DocType": "Spectra", @@ -519,7 +519,7 @@ def test_unfiltered_original_metadata(self): "Encoding": "Ascii", "ColorMode": "Grayscale", "ViewDisplayMode": "Graph", - "ViewImageColorMode": "False", + "ViewImageColorMode": False, "InfoSerialized": { "Info": { "Groups": { @@ -558,7 +558,7 @@ def test_unfiltered_original_metadata(self): "Item": [ { "Name": "Serialnumber", - "Value": "27580185", + "Value": 27580185, "IsVisible": "true", }, { @@ -568,22 +568,22 @@ def test_unfiltered_original_metadata(self): }, { "Name": "Stage_Number", - "Value": "1", + "Value": 1, "IsVisible": "true", }, { "Name": "Focallength", - "Value": "749", + "Value": 749, "IsVisible": "true", }, { "Name": "Inclusion_Angle", - "Value": "6.5", + "Value": 6.5, "IsVisible": "true", }, { "Name": "Detector_Angle", - "Value": "0.68", + "Value": 0.68, "IsVisible": "true", }, { @@ -593,27 +593,27 @@ def test_unfiltered_original_metadata(self): }, { "Name": "Order", - "Value": "1", + "Value": 1, "IsVisible": "true", }, { "Name": "Slit_Entrance-Front", - "Value": "200", + "Value": 200, "IsVisible": "true", }, { "Name": "Slit_Entrance-Side", - "Value": "0", + "Value": 0, "IsVisible": "true", }, { "Name": "Slit_Exit-Front", - "Value": "0", + "Value": 0, "IsVisible": "true", }, { "Name": "Slit_Exit-Side", - "Value": "0", + "Value": 0, "IsVisible": "true", }, ] @@ -645,12 +645,12 @@ def test_unfiltered_original_metadata(self): }, { "Name": "Detector_Temperature", - "Value": "-25", + "Value": -25, "IsVisible": "true", }, { "Name": "Exposure_Time_(ms)", - "Value": "1000", + "Value": 1000, "IsVisible": "true", }, { @@ -660,17 +660,17 @@ def test_unfiltered_original_metadata(self): }, { "Name": "No_of_Accumulations", - "Value": "1", + "Value": 1, "IsVisible": "true", }, { "Name": "Calc_Average", - "Value": "True", + "Value": True, "IsVisible": "true", }, { "Name": "No_of_Frames", - "Value": "1", + "Value": 1, "IsVisible": "true", }, { @@ -685,7 +685,7 @@ def test_unfiltered_original_metadata(self): }, { "Name": "ADC__Gain", - "Value": "2", + "Value": 2, "IsVisible": "true", }, { @@ -695,7 +695,7 @@ def test_unfiltered_original_metadata(self): }, { "Name": "Clearing__No_of_Cleans", - "Value": "1", + "Value": 1, "IsVisible": "true", }, { @@ -714,12 +714,12 @@ def test_unfiltered_original_metadata(self): "Item": [ { "Name": "Center_Wavelength", - "Value": "815.000", + "Value": 815.0, "IsVisible": "true", }, { "Name": "Laser_Wavelength", - "Value": "0.000", + "Value": 0.0, "IsVisible": "true", }, ] @@ -739,25 +739,25 @@ def test_unfiltered_original_metadata(self): "Gratings": { "Grating": [ { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "1800 g/mm", "Blaze": "H-VIS", - "Turret": "1", + "Turret": 1, }, { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "900 g/mm", "Blaze": "550NM", - "Turret": "1", + "Turret": 1, }, { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, ], - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -772,31 +772,31 @@ def test_unfiltered_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "200", + "MaxWidth": 12000, + "Position": 200, }, "SlitExitFront": { "Name": "S3", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -804,59 +804,59 @@ def test_unfiltered_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "c05fbec6-7cc0-4546-a009-06850868f43d", "Model": "SP-2-500i", - "Serialnumber": "25580419", - "FocalLength": "500", - "InclusionAngle": "8.600", - "InclusionAngleAdditive": "51.600", - "DetectorAngle": "0.000", - "PixelWidthExitFront": "-1.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 25580419, + "FocalLength": 500, + "InclusionAngle": 8.6, + "InclusionAngleAdditive": 51.6, + "DetectorAngle": 0.0, + "PixelWidthExitFront": -1.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM3", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "925.010", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": 925.01, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, { "Gratings": { "Grating": [ { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "1800 g/mm", "Blaze": "H-VIS", - "Turret": "1", + "Turret": 1, }, { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "900 g/mm", "Blaze": "550NM", - "Turret": "1", + "Turret": 1, }, { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, ], - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -871,31 +871,31 @@ def test_unfiltered_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "10000", + "MaxWidth": 12000, + "Position": 10000, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitFront": { "Name": "S3", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -903,59 +903,59 @@ def test_unfiltered_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "39ade9ad-caa8-48c2-a3d0-4f79cc44bda7", "Model": "SP-2-500i", - "Serialnumber": "25580420", - "FocalLength": "500", - "InclusionAngle": "8.600", - "InclusionAngleAdditive": "51.600", - "DetectorAngle": "0.000", - "PixelWidthExitFront": "1.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 25580420, + "FocalLength": 500, + "InclusionAngle": 8.6, + "InclusionAngleAdditive": 51.6, + "DetectorAngle": 0.0, + "PixelWidthExitFront": 1.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM4", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "-924.910", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": -924.91, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, { "Gratings": { "Grating": [ { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "1800 g/mm", "Blaze": "H-VIS", - "Turret": "1", + "Turret": 1, }, { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "900 g/mm", "Blaze": "550NM", - "Turret": "1", + "Turret": 1, }, { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, ], - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -970,31 +970,31 @@ def test_unfiltered_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "500", + "MaxWidth": 12000, + "Position": 500, }, "SlitExitFront": { "Name": "S3", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -1002,38 +1002,38 @@ def test_unfiltered_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "37a2855b-db41-4268-970b-bb75d96e5654", "Model": "SP-2-750i", - "Serialnumber": "27580185", - "FocalLength": "749", - "InclusionAngle": "6.500", - "InclusionAngleAdditive": "39.000", - "DetectorAngle": "0.680", - "PixelWidthExitFront": "25.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 27580185, + "FocalLength": 749, + "InclusionAngle": 6.5, + "InclusionAngleAdditive": 39.0, + "DetectorAngle": 0.68, + "PixelWidthExitFront": 25.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM5", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "850.184", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": 850.184, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, ], - "Count": "3", + "Count": 3, }, "Detectors": { "Detector": [ @@ -1043,9 +1043,9 @@ def test_unfiltered_original_metadata(self): "Name": "Camera1", "DisplayName": "Camera1", "SerialNumber": "", - "DetectorType": "None", + "DetectorType": None, "Size": "1024;1", - "OpenAtStartup": "False", + "OpenAtStartup": False, "Usage": "Default", }, { @@ -1053,10 +1053,10 @@ def test_unfiltered_original_metadata(self): "Driver": "SpectraHub-Driver", "Name": "Spectra-Hub_COM7", "DisplayName": "Name", - "SerialNumber": "210367", + "SerialNumber": 210367, "DetectorType": "SinglePointDetector", "Size": "1;1", - "OpenAtStartup": "False", + "OpenAtStartup": False, "Usage": "Default", }, { @@ -1064,98 +1064,98 @@ def test_unfiltered_original_metadata(self): "Driver": "SpectraHub-Driver", "Name": "Spectra-Hub_COM8", "DisplayName": "Name", - "SerialNumber": "210238", + "SerialNumber": 210238, "DetectorType": "SinglePointDetector", "Size": "1;1", - "OpenAtStartup": "False", + "OpenAtStartup": False, "Usage": "Default", }, ], - "Count": "3", + "Count": 3, }, - "SinglePointDetectors": {"Count": "0"}, + "SinglePointDetectors": {"Count": 0}, "LightSources": { "LightSource": [ { - "Wavelengths": {"Count": "1", "Value_0": "0.000"}, + "Wavelengths": {"Count": 1, "Value_0": 0.0}, "GUID": "a57ac71a-c667-4501-a24a-596bc54b2c8c", "Name": "Calibration Lamp", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "0"}, + "Wavelengths": {"Count": 0}, "GUID": "cac03351-735e-4592-9bb2-c17f64b3649f", "Name": "Calibration Lamp2", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "0"}, + "Wavelengths": {"Count": 0}, "GUID": "84a08bee-227a-46f0-b1e1-0f171808a155", "Name": "Calibration Lamp3", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "1", "Value_0": "0.000"}, + "Wavelengths": {"Count": 1, "Value_0": 0.0}, "GUID": "a0601d22-23a0-4587-bb79-35d5823916c4", "Name": "Laser", "Serialnumber": "", - "FixedWavelength": "False", - "CanChange": "False", + "FixedWavelength": False, + "CanChange": False, "Type": "Laser", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "1", "Value_0": "790.000"}, + "Wavelengths": {"Count": 1, "Value_0": 790.0}, "GUID": "a36b29da-0d54-4ab7-860c-967269f76217", "Name": "tisa", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "True", + "FixedWavelength": True, + "CanChange": True, "Type": "Laser", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, ], - "Count": "5", + "Count": 5, }, - "ArduinoHardware": {"Count": "0"}, - "Additionals": {"Count": "0"}, + "ArduinoHardware": {"Count": 0}, + "Additionals": {"Count": 0}, "MotorizedStages": { "MotorizedStage": { "GUID": "c551372e-56af-4686-b7c1-48ca00dfdf27", "DriverName": "Tango Driver", "Name": "XY-Stage", "ConnectionString": "COM15", - "Serialnumber": "144012056", - "IsTriggerModeAvailable": "False", + "Serialnumber": 144012056, + "IsTriggerModeAvailable": False, }, - "Count": "1", + "Count": 1, }, "Microscopes": { "Microscope": [ @@ -1163,371 +1163,372 @@ def test_unfiltered_original_metadata(self): "Objectives": { "Objective": [ { - "IsEnabled": "True", + "IsEnabled": True, "Name": "100x", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, ], - "Count": "10", + "Count": 10, }, "GUID": "841bfef9-b969-43f0-9ca3-2522c223a31f", "Name": "Microscope", "StageID": "c551372e-56af-4686-b7c1-48ca00dfdf27", "ImagingCameraID": "", - "RamanBoxAvailable": "True", - "RamanBoxLinearStage.Available": "False", + "RamanBoxAvailable": True, + "RamanBoxLinearStage.Available": False, "RamanBoxLinearStage.ConnectedHarwareID": "", - "RamanBoxFilterWheel.Available": "False", + "RamanBoxFilterWheel.Available": False, "RamanBoxFilterWheel.ConnectedHarwareID": "", - "RamanBoxBeamSplitter.Available": "False", + "RamanBoxBeamSplitter.Available": False, "RamanBoxBeamSplitter.ConnectedHarwareID": "", - "RamanBoxNotchFilter.Available": "False", + "RamanBoxNotchFilter.Available": False, "RamanBoxNotchFilter.ConnectedHarwareID": "", - "ActiveObjectiveIndex": "0", + "ActiveObjectiveIndex": 0, }, { "Objectives": { "Objective": [ { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, { - "IsEnabled": "False", + "IsEnabled": False, "Name": "", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, ], - "Count": "10", + "Count": 10, }, "GUID": "ee496960-089d-4040-a5ca-cde5f9d1b0f8", "Name": "Microscope", "StageID": "", "ImagingCameraID": "", - "RamanBoxAvailable": "False", - "RamanBoxLinearStage.Available": "False", + "RamanBoxAvailable": False, + "RamanBoxLinearStage.Available": False, "RamanBoxLinearStage.ConnectedHarwareID": "", - "RamanBoxFilterWheel.Available": "False", + "RamanBoxFilterWheel.Available": False, "RamanBoxFilterWheel.ConnectedHarwareID": "", - "RamanBoxBeamSplitter.Available": "False", + "RamanBoxBeamSplitter.Available": False, "RamanBoxBeamSplitter.ConnectedHarwareID": "", - "RamanBoxNotchFilter.Available": "False", + "RamanBoxNotchFilter.Available": False, "RamanBoxNotchFilter.ConnectedHarwareID": "", - "ActiveObjectiveIndex": "0", + "ActiveObjectiveIndex": 0, }, ], - "Count": "2", + "Count": 2, }, - "Cryostats": {"Count": "0"}, - "Version": "2", + "Cryostats": {"Count": 0}, + "Version": 2, }, } + assert ( expected_metadata == self.s_non_uniform_unfiltered.original_metadata.as_dictionary() @@ -1807,7 +1808,7 @@ def test_original_metadata(self): "FileInfoSerialized": {"Info": {"Groups": None}}, }, "Document": { - "Version": "2", + "Version": 2, "Label": "Intensity", "DataLabel": "Counts", "DocType": "Spectra", @@ -1817,89 +1818,89 @@ def test_original_metadata(self): "Encoding": "Ascii", "ColorMode": "Grayscale", "ViewDisplayMode": "Graph", - "ViewImageColorMode": "False", + "ViewImageColorMode": False, "InfoSerialized": { "Document": {"Record Time": "6/27/2022 5:55 PM"}, "Experiment": {"Used Setup": "PL_add777"}, "Spectrometers": { "Spectrometer2": { - "Serialnumber": "25580420", + "Serialnumber": 25580420, "Model": "SP-2-500i", - "Stage_Number": "2", - "Focallength": "500", - "Inclusion_Angle": "8.6", - "Detector_Angle": "0", + "Stage_Number": 2, + "Focallength": 500, + "Inclusion_Angle": 8.6, + "Detector_Angle": 0, "Groove_Density": "750 g/mm", - "Order": "1", - "Slit_Entrance-Front": "0", - "Slit_Entrance-Side": "6000", - "Slit_Exit-Front": "0", - "Slit_Exit-Side": "0", + "Order": 1, + "Slit_Entrance-Front": 0, + "Slit_Entrance-Side": 6000, + "Slit_Exit-Front": 0, + "Slit_Exit-Side": 0, }, "Spectrometer3": { - "Serialnumber": "27580185", + "Serialnumber": 27580185, "Model": "SP-2-750i", - "Stage_Number": "3", - "Focallength": "749", - "Inclusion_Angle": "6.5", - "Detector_Angle": "0.68", + "Stage_Number": 3, + "Focallength": 749, + "Inclusion_Angle": 6.5, + "Detector_Angle": 0.68, "Groove_Density": "750 g/mm", - "Order": "1", - "Slit_Entrance-Front": "0", - "Slit_Entrance-Side": "12000", - "Slit_Exit-Front": "0", - "Slit_Exit-Side": "0", + "Order": 1, + "Slit_Entrance-Front": 0, + "Slit_Entrance-Side": 12000, + "Slit_Exit-Front": 0, + "Slit_Exit-Side": 0, }, "Spectrometer1": { - "Serialnumber": "25580419", + "Serialnumber": 25580419, "Model": "SP-2-500i", - "Stage_Number": "1", - "Focallength": "500", - "Inclusion_Angle": "8.6", - "Detector_Angle": "0", + "Stage_Number": 1, + "Focallength": 500, + "Inclusion_Angle": 8.6, + "Detector_Angle": 0, "Groove_Density": "750 g/mm", - "Order": "1", - "Slit_Entrance-Front": "300", - "Slit_Entrance-Side": "0", - "Slit_Exit-Front": "0", - "Slit_Exit-Side": "0", + "Order": 1, + "Slit_Entrance-Front": 300, + "Slit_Entrance-Side": 0, + "Slit_Exit-Front": 0, + "Slit_Exit-Side": 0, }, }, "Detector": { "Name": "Camera1", "Serialnumber": None, "Detector_Size": "1024;1", - "Detector_Temperature": "-25", - "Exposure_Time_(ms)": "1000", + "Detector_Temperature": -25, + "Exposure_Time_(ms)": 1000, "Exposure_Mode": None, - "No_of_Accumulations": "1", - "Calc_Average": "True", - "No_of_Frames": "1", + "No_of_Accumulations": 1, + "Calc_Average": True, + "No_of_Frames": 1, "ADC__Readout_Port": "Normal", "ADC__Rate_Resolution": "1 MHz", - "ADC__Gain": "2", + "ADC__Gain": 2, "Clearing__Mode": None, - "Clearing__No_of_Cleans": "1", + "Clearing__No_of_Cleans": 1, "Region_of_Interests": "1|1;1024;1;1;1;1", }, "Calibration": { - "Center_Wavelength": "820.000", - "Laser_Wavelength": "0.000", + "Center_Wavelength": 820.0, + "Laser_Wavelength": 0.0, }, }, }, "Hardware": { "Spectrometers": { - "Count": "3", + "Count": 3, "Spectrometer1": { "Gratings": { "Grating": { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -1914,31 +1915,31 @@ def test_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "200", + "MaxWidth": 12000, + "Position": 200, }, "SlitExitFront": { "Name": "S3", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -1946,45 +1947,45 @@ def test_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "c05fbec6-7cc0-4546-a009-06850868f43d", "Model": "SP-2-500i", - "Serialnumber": "25580419", - "FocalLength": "500", - "InclusionAngle": "8.600", - "InclusionAngleAdditive": "51.600", - "DetectorAngle": "0.000", - "PixelWidthExitFront": "-1.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 25580419, + "FocalLength": 500, + "InclusionAngle": 8.6, + "InclusionAngleAdditive": 51.6, + "DetectorAngle": 0.0, + "PixelWidthExitFront": -1.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM3", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "925.010", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": 925.01, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, "Spectrometer2": { "Gratings": { "Grating": { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -1999,31 +2000,31 @@ def test_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "10000", + "MaxWidth": 12000, + "Position": 10000, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitFront": { "Name": "S3", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -2031,45 +2032,45 @@ def test_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "39ade9ad-caa8-48c2-a3d0-4f79cc44bda7", "Model": "SP-2-500i", - "Serialnumber": "25580420", - "FocalLength": "500", - "InclusionAngle": "8.600", - "InclusionAngleAdditive": "51.600", - "DetectorAngle": "0.000", - "PixelWidthExitFront": "1.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 25580420, + "FocalLength": 500, + "InclusionAngle": 8.6, + "InclusionAngleAdditive": 51.6, + "DetectorAngle": 0.0, + "PixelWidthExitFront": 1.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM4", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "-924.910", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": -924.91, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, "Spectrometer3": { "Gratings": { "Grating": { - "Offsets": {"Count": "0"}, + "Offsets": {"Count": 0}, "GrooveDensity": "750 g/mm", "Blaze": "H-NIR", - "Turret": "1", + "Turret": 1, }, - "Count": "3", + "Count": 3, }, "MirrorEntrance": { "Name": "M1", @@ -2084,31 +2085,31 @@ def test_original_metadata(self): "SlitEntranceSide": { "Name": "S1", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitEntranceFront": { "Name": "S2", "State": "isMotorized", - "MaxWidth": "12000", - "Position": "500", + "MaxWidth": 12000, + "Position": 500, }, "SlitExitFront": { "Name": "S3", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "SlitExitSide": { "Name": "S4", "State": "disabled", - "MaxWidth": "12000", - "Position": "0", + "MaxWidth": 12000, + "Position": 0, }, "FilterWheel": { "Name": "", "State": "disabled", - "Position": "0", + "Position": 0, "FilterStrings": "6|#1|#2|#3|#4|#5|#6", }, "Shutter": { @@ -2116,35 +2117,35 @@ def test_original_metadata(self): "State": "disabled", "Position": "open", "ShutterMode": "OpenForExperiment", - "ShutterClosedForFilterwheel": "True", - "ShutterClosedForSetupChange": "True", - "ShutterClosedForLaserCrossing": "True", - "ShutterClosedForLaserCrossingValue": "0.000", + "ShutterClosedForFilterwheel": True, + "ShutterClosedForSetupChange": True, + "ShutterClosedForLaserCrossing": True, + "ShutterClosedForLaserCrossingValue": 0.0, "ShutterClosedForLaserCrossingUnit": "Nanometer", }, "GUID": "37a2855b-db41-4268-970b-bb75d96e5654", "Model": "SP-2-750i", - "Serialnumber": "27580185", - "FocalLength": "749", - "InclusionAngle": "6.500", - "InclusionAngleAdditive": "39.000", - "DetectorAngle": "0.680", - "PixelWidthExitFront": "25.000", - "PixelWidthExitSide": "-1.000", + "Serialnumber": 27580185, + "FocalLength": 749, + "InclusionAngle": 6.5, + "InclusionAngleAdditive": 39.0, + "DetectorAngle": 0.68, + "PixelWidthExitFront": 25.0, + "PixelWidthExitSide": -1.0, "Backlash": "ScanUp", "DriveDirection": "Normal", "ComPortSpec": "COM5", "ComPortEntrance": "", "ComPortExit": "", - "DemoMode": "False", - "UsedAsLightsource": "False", - "UseBackwards": "False", - "Wavelength": "850.184", - "Grating": "2", - "ReadTimeout": "35000", - "Activated": "False", - "IsFixedCalibration": "False", - "FixedCalibrationPoints": "0", + "DemoMode": False, + "UsedAsLightsource": False, + "UseBackwards": False, + "Wavelength": 850.184, + "Grating": 2, + "ReadTimeout": 35000, + "Activated": False, + "IsFixedCalibration": False, + "FixedCalibrationPoints": 0, }, }, "Detectors": { @@ -2154,137 +2155,137 @@ def test_original_metadata(self): "Name": "Camera1", "DisplayName": "Camera1", "SerialNumber": "", - "DetectorType": "None", + "DetectorType": None, "Size": "1024;1", - "OpenAtStartup": "False", + "OpenAtStartup": False, "Usage": "Default", }, - "Count": "3", + "Count": 3, }, - "SinglePointDetectors": {"Count": "0"}, + "SinglePointDetectors": {"Count": 0}, "LightSources": { "LightSource": [ { - "Wavelengths": {"Count": "1", "Value_0": "0.000"}, + "Wavelengths": {"Count": 1, "Value_0": 0.0}, "GUID": "a57ac71a-c667-4501-a24a-596bc54b2c8c", "Name": "Calibration Lamp", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "0"}, + "Wavelengths": {"Count": 0}, "GUID": "cac03351-735e-4592-9bb2-c17f64b3649f", "Name": "Calibration Lamp2", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "0"}, + "Wavelengths": {"Count": 0}, "GUID": "84a08bee-227a-46f0-b1e1-0f171808a155", "Name": "Calibration Lamp3", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "False", + "FixedWavelength": True, + "CanChange": False, "Type": "CalibrationLamp", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "1", "Value_0": "0.000"}, + "Wavelengths": {"Count": 1, "Value_0": 0.0}, "GUID": "a0601d22-23a0-4587-bb79-35d5823916c4", "Name": "Laser", "Serialnumber": "", - "FixedWavelength": "False", - "CanChange": "False", + "FixedWavelength": False, + "CanChange": False, "Type": "Laser", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, { - "Wavelengths": {"Count": "1", "Value_0": "790.000"}, + "Wavelengths": {"Count": 1, "Value_0": 790.0}, "GUID": "a36b29da-0d54-4ab7-860c-967269f76217", "Name": "tisa", "Serialnumber": "", - "FixedWavelength": "True", - "CanChange": "True", + "FixedWavelength": True, + "CanChange": True, "Type": "Laser", - "ConnectionString": "None", - "IsMirrorPositionValid": "False", + "ConnectionString": None, + "IsMirrorPositionValid": False, "MirrorsAlignmentPositionTop": "0;0", "MirrorsAlignmentPositionBottom": "0;0", }, ], - "Count": "5", + "Count": 5, }, - "ArduinoHardware": {"Count": "0"}, - "Additionals": {"Count": "0"}, + "ArduinoHardware": {"Count": 0}, + "Additionals": {"Count": 0}, "MotorizedStages": { "MotorizedStage": { "GUID": "c551372e-56af-4686-b7c1-48ca00dfdf27", "DriverName": "Tango Driver", "Name": "XY-Stage", "ConnectionString": "COM15", - "Serialnumber": "144012056", - "IsTriggerModeAvailable": "False", + "Serialnumber": 144012056, + "IsTriggerModeAvailable": False, }, - "Count": "1", + "Count": 1, }, "Microscopes": { "Microscope": { "Objectives": { "Objective": { - "IsEnabled": "True", + "IsEnabled": True, "Name": "100x", - "Magnification": "100.000", - "FactorMeasuredWithResolution": "1280", - "Factor": "34.700", - "LaserOffsetX": "0.000", - "LaserOffsetY": "0.000", - "OffsetX": "0.000", - "OffsetY": "0.000", - "LineLaserOffsetX": "0.000", - "LineLaserOffsetY": "0.000", - "LineOffsetX": "0.000", - "LineOffsetY": "0.000", - "LineFocusFactor": "1.130", + "Magnification": 100.0, + "FactorMeasuredWithResolution": 1280, + "Factor": 34.7, + "LaserOffsetX": 0.0, + "LaserOffsetY": 0.0, + "OffsetX": 0.0, + "OffsetY": 0.0, + "LineLaserOffsetX": 0.0, + "LineLaserOffsetY": 0.0, + "LineOffsetX": 0.0, + "LineOffsetY": 0.0, + "LineFocusFactor": 1.13, }, - "Count": "10", + "Count": 10, }, "GUID": "841bfef9-b969-43f0-9ca3-2522c223a31f", "Name": "Microscope", "StageID": "c551372e-56af-4686-b7c1-48ca00dfdf27", "ImagingCameraID": "", - "RamanBoxAvailable": "True", - "RamanBoxLinearStage.Available": "False", + "RamanBoxAvailable": True, + "RamanBoxLinearStage.Available": False, "RamanBoxLinearStage.ConnectedHarwareID": "", - "RamanBoxFilterWheel.Available": "False", + "RamanBoxFilterWheel.Available": False, "RamanBoxFilterWheel.ConnectedHarwareID": "", - "RamanBoxBeamSplitter.Available": "False", + "RamanBoxBeamSplitter.Available": False, "RamanBoxBeamSplitter.ConnectedHarwareID": "", - "RamanBoxNotchFilter.Available": "False", + "RamanBoxNotchFilter.Available": False, "RamanBoxNotchFilter.ConnectedHarwareID": "", - "ActiveObjectiveIndex": "0", + "ActiveObjectiveIndex": 0, }, - "Count": "2", + "Count": 2, }, - "Cryostats": {"Count": "0"}, - "Version": "2", + "Cryostats": {"Count": 0}, + "Version": 2, }, } @@ -2293,34 +2294,34 @@ def test_original_metadata(self): def test_metadata_acquisition_instrument(self): expected_metadata = { "Detector": { - "processing": {"calc_average": "True"}, - "temperature": -25.0, - "exposure_per_frame": 1.0, - "frames": 1.0, + "processing": {"calc_average": True}, + "temperature": -25, + "exposure_per_frame": 1, + "frames": 1, "glued_spectrum": False, - "integration_time": 1.0, + "integration_time": 1, }, - "Laser": {"objective_magnification": 100.0}, + "Laser": {"objective_magnification": 100}, "Spectrometer1": { - "Grating": {"blazing_wavelength": "H-NIR", "groove_density": 750.0}, - "central_wavelength": 820.0, + "Grating": {"blazing_wavelength": "H-NIR", "groove_density": 750}, + "central_wavelength": 820, "model": "SP-2-500i", "entrance_slit_width": 0.3, - "exit_slit_width": 0.0, + "exit_slit_width": 0, }, "Spectrometer2": { - "Grating": {"blazing_wavelength": "H-NIR", "groove_density": 750.0}, - "central_wavelength": 820.0, + "Grating": {"blazing_wavelength": "H-NIR", "groove_density": 750}, + "central_wavelength": 820, "model": "SP-2-500i", - "entrance_slit_width": 6.0, - "exit_slit_width": 0.0, + "entrance_slit_width": 6, + "exit_slit_width": 0, }, "Spectrometer3": { - "Grating": {"blazing_wavelength": "H-NIR", "groove_density": 750.0}, - "central_wavelength": 820.0, + "Grating": {"blazing_wavelength": "H-NIR", "groove_density": 750}, + "central_wavelength": 820, "model": "SP-2-750i", - "entrance_slit_width": 12.0, - "exit_slit_width": 0.0, + "entrance_slit_width": 12, + "exit_slit_width": 0, }, } @@ -2393,9 +2394,9 @@ def test_metadata(self): assert original_metadata_glued["From"] == "900.000 nm" assert original_metadata_glued["To"] == "1500.000 nm" assert original_metadata_glued["Mode:"] == "Step & Glue" - assert original_metadata_glued["Overlap (%)"] == "15" - assert original_metadata_glued["Skipped Pixel Left"] == "0" - assert original_metadata_glued["Skipped Pixel Right"] == "0" + assert original_metadata_glued["Overlap (%)"] == 15 + assert original_metadata_glued["Skipped Pixel Left"] == 0 + assert original_metadata_glued["Skipped Pixel Right"] == 0 assert metadata_detector.glued_spectrum == True assert np.isclose(metadata_detector.glued_spectrum_overlap, 15) @@ -2536,7 +2537,7 @@ def test_metadata_2acc(self): assert np.isclose(metadata_detector.exposure_per_frame, 3) assert np.isclose(metadata_detector.frames, 2) assert np.isclose(metadata_detector.integration_time, 3) - assert metadata_detector.processing.calc_average == "True" + assert metadata_detector.processing.calc_average == True def test_metadata_2acc_no_average(self): metadata_detector = ( @@ -2545,4 +2546,4 @@ def test_metadata_2acc_no_average(self): assert np.isclose(metadata_detector.exposure_per_frame, 3) assert np.isclose(metadata_detector.frames, 2) assert np.isclose(metadata_detector.integration_time, 6) - assert metadata_detector.processing.calc_average == "False" + assert metadata_detector.processing.calc_average == False diff --git a/rsciio/trivista/_api.py b/rsciio/trivista/_api.py index 2b395422c..e823b4033 100644 --- a/rsciio/trivista/_api.py +++ b/rsciio/trivista/_api.py @@ -21,15 +21,18 @@ import importlib.util from pathlib import Path from copy import deepcopy -from collections import defaultdict import numpy as np from numpy.polynomial.polynomial import polyfit +from rsciio.utils.tools import XmlToDict from rsciio._docstrings import FILENAME_DOC, LAZY_DOC, RETURNS_DOC _logger = logging.getLogger(__name__) +## no name collision between children and attrib in testfiles +x2d_translator = XmlToDict(dub_attr_pre_str="") + def _error_handling_find_location(len_entry, name): if len_entry > 1: @@ -44,14 +47,6 @@ def _error_handling_find_location(len_entry, name): ) # pragma: no cover -def _convert_float(input): - """Handle None-values when converting strings to float.""" - if input is None: - return None # pragma: no cover - else: - return float(input) - - def _remove_none_from_dict(dict_in): """Recursive removal of None-values from a dictionary.""" for key, value in list(dict_in.items()): @@ -61,28 +56,11 @@ def _remove_none_from_dict(dict_in): del dict_in[key] -def _etree_to_dict(t, only_top_lvl=False): - """Recursive conversion from xml.etree.ElementTree to a dictionary.""" - d = {t.tag: {} if t.attrib else None} - if not only_top_lvl: - children = list(t) - if children: - dd = defaultdict(list) - for dc in map(_etree_to_dict, children): - for k, v in dc.items(): - dd[k].append(v) - d = {t.tag: {k: v[0] if len(v) == 1 else v for k, v in dd.items()}} - if t.text: - if children or t.attrib: - ## in this case, the text is ignored - ## if children=True -> text is just empty space in test data - ## if t.attrib=True and children=False doesn't occur in test data - pass - else: - d[t.tag] = t.text.strip() +def _et_node_attrib2dict(t): + result = None if t.attrib: - d[t.tag].update((k, v) for k, v in t.attrib.items()) - return d + result = {t.tag: {k: XmlToDict.eval(v) for k, v in t.attrib.items()}} + return result def _process_info_serialized(head): @@ -204,24 +182,31 @@ def parse_file_structure(self, filter_original_metadata): et_root = ET.parse(self._file_path).getroot() ## root level metadata - filtered_original_metadata.update(_etree_to_dict(et_root, only_top_lvl=True)) - et_fileInfoSerialized = ET.fromstring( - filtered_original_metadata["XmlMain"]["FileInfoSerialized"] - ) - fileInfoSerialized = _etree_to_dict(et_fileInfoSerialized, only_top_lvl=False) - filtered_original_metadata["XmlMain"]["FileInfoSerialized"] = fileInfoSerialized + root_level_md = _et_node_attrib2dict(et_root) + fileInfoSerialized = root_level_md.get("XmlMain", {}).get("FileInfoSerialized") + if fileInfoSerialized is not None: + et_fileInfoSerialized = ET.fromstring(fileInfoSerialized) + root_level_md["XmlMain"][ + "FileInfoSerialized" + ] = x2d_translator.dictionarize(et_fileInfoSerialized) + filtered_original_metadata.update(root_level_md) ## Documents / Document section data_head = et_root[1][0] - filtered_original_metadata.update(_etree_to_dict(data_head, only_top_lvl=True)) - et_infoSerialized = ET.fromstring( - filtered_original_metadata["Document"]["InfoSerialized"] - ) - infoSerialized = _etree_to_dict(et_infoSerialized, only_top_lvl=False) + data_head_md = _et_node_attrib2dict(data_head) + filtered_original_metadata.update(data_head_md) + infoSerialized = data_head_md.get("Document", {}).get("InfoSerialized") + if infoSerialized is not None: + et_infoSerialized = ET.fromstring(infoSerialized) + infoSerialized = x2d_translator.dictionarize(et_infoSerialized) + else: + raise RuntimeError( + "Invalid file (InfoSerialized Block missing), cannot read axis data." + ) ## Hardware section metadata_head = et_root[0] - metadata_hardware = _etree_to_dict(metadata_head, only_top_lvl=False) + metadata_hardware = x2d_translator.dictionarize(metadata_head) if not filter_original_metadata: unfiltered_original_metadata = deepcopy(filtered_original_metadata) @@ -250,13 +235,15 @@ def parse_file_structure(self, filter_original_metadata): @staticmethod def _filter_laser_metadata(infoSerialized_processed, metadata_hardware): - """Filter LightSources section (Laser) via wavelength if possible.""" + """Filter LightSources section (Laser) via wavelength""" + try: + calibration_wl = infoSerialized_processed["Calibration"]["Laser_Wavelength"] + except KeyError: + return + for laser in metadata_hardware["Hardware"]["LightSources"]["LightSource"]: try: - calibration_wl = float( - infoSerialized_processed["Calibration"]["Laser_Wavelength"] - ) - laser_wl = float(laser["Wavelengths"]["Value_0"]) + laser_wl = laser["Wavelengths"]["Value_0"] except KeyError: pass else: @@ -275,7 +262,7 @@ def _filter_objectives_metadata(metadata_hardware): """Filter microscope section (objective) via isEnabled tag""" for microscope in metadata_hardware["Hardware"]["Microscopes"]["Microscope"]: for objective in microscope["Objectives"]["Objective"]: - if objective["IsEnabled"] == "True": + if objective["IsEnabled"]: metadata_hardware["Hardware"]["Microscopes"][ "Microscope" ] = microscope @@ -366,14 +353,18 @@ def _map_signal_md(self, original_metadata): def _map_detector_md(self, original_metadata): detector = {"processing": {}} - detector_original = original_metadata["Document"]["InfoSerialized"]["Detector"] - try: - experiment_original = original_metadata["Document"]["InfoSerialized"][ - "Experiment" - ] - except KeyError: - pass - else: + detector_original = ( + original_metadata.get("Document", {}) + .get("InfoSerialized", {}) + .get("Detector", {}) + ) + + experiment_original = ( + original_metadata.get("Document", {}) + .get("InfoSerialized", {}) + .get("Experiment") + ) + if experiment_original is not None: if "Overlap (%)" in experiment_original: detector["glued_spectrum"] = True detector["glued_spectrum_overlap"] = float( @@ -382,45 +373,42 @@ def _map_detector_md(self, original_metadata): detector["glued_spectrum_windows"] = self._num_datasets else: detector["glued_spectrum"] = False - detector["temperature"] = _convert_float( - detector_original.get("Detector_Temperature") - ) - detector["exposure_per_frame"] = ( - _convert_float(detector_original.get("Exposure_Time_(ms)")) / 1000 - ) - detector["frames"] = _convert_float( - detector_original.get("No_of_Accumulations") - ) + + detector["temperature"] = detector_original.get("Detector_Temperature") + detector["frames"] = detector_original.get("No_of_Accumulations") detector["processing"]["calc_average"] = detector_original.get("Calc_Average") try: detector["exposure_per_frame"] = ( - _convert_float(detector_original.get("Exposure_Time_(ms)")) / 1000 + detector_original.get("Exposure_Time_(ms)") / 1000 ) except TypeError: # pragma: no cover detector["exposure_per_frame"] = None # pragma: no cover - if detector["processing"]["calc_average"] == "False": + if detector["processing"]["calc_average"]: + detector["integration_time"] = detector["exposure_per_frame"] + else: try: detector["integration_time"] = ( detector["exposure_per_frame"] * detector["frames"] ) except TypeError: # pragma: no cover pass # pragma: no cover - elif detector["processing"]["calc_average"] == "True": - detector["integration_time"] = detector["exposure_per_frame"] return detector @staticmethod def _map_laser_md(original_metadata, laser_wavelength): laser = {} - laser["objective_magnification"] = float( - original_metadata["Hardware"]["Microscopes"]["Microscope"]["Objectives"][ - "Objective" - ]["Magnification"] + laser["objective_magnification"] = ( + original_metadata.get("Hardware", {}) + .get("Microscopes", {}) + .get("Microscope", {}) + .get("Objectives", {}) + .get("Objective", {}) + .get("Magnification") ) - if not laser_wavelength is None: + if laser_wavelength is not None: laser["wavelength"] = laser_wavelength return laser @@ -428,18 +416,26 @@ def _map_laser_md(original_metadata, laser_wavelength): def _map_spectrometer_md(original_metadata, central_wavelength): all_spectrometers_dict = {} - spectrometers_original = original_metadata["Document"]["InfoSerialized"][ - "Spectrometers" - ] + spectrometers_original = ( + original_metadata.get("Document", {}) + .get("InfoSerialized", {}) + .get("Spectrometers", {}) + ) for key, entry in spectrometers_original.items(): spectro_dict_tmp = {"Grating": {}} spectro_dict_tmp["central_wavelength"] = central_wavelength - blaze = original_metadata["Hardware"]["Spectrometers"][key]["Gratings"][ - "Grating" - ]["Blaze"] - if blaze[-2:] == "NM": - blaze = float(blaze.split("N")[0]) + blaze = ( + original_metadata.get("Hardware", {}) + .get("Spectrometers", {}) + .get(key, {}) + .get("Gratings", {}) + .get("Grating", {}) + .get("Blaze") + ) + if isinstance(blaze, str): + if blaze[-2:] == "NM": + blaze = float(blaze.split("N")[0]) spectro_dict_tmp["Grating"]["blazing_wavelength"] = blaze spectro_dict_tmp["model"] = entry.get("Model") try: @@ -449,45 +445,41 @@ def _map_spectrometer_md(original_metadata, central_wavelength): else: groove_density = float(groove_density.split(" ")[0]) spectro_dict_tmp["Grating"]["groove_density"] = groove_density - slit_entrance_front = ( - _convert_float(entry.get("Slit_Entrance-Front")) / 1000 - ) - slit_entrance_side = _convert_float(entry.get("Slit_Entrance-Side")) / 1000 - slit_exit_front = _convert_float(entry.get("Slit_Exit-Front")) / 1000 - slit_exit_side = _convert_float(entry.get("Slit_Exit-Side")) / 1000 - ## using the maximum here, because - ## only one entrance/exit should be in use anyways - spectro_dict_tmp["entrance_slit_width"] = max( - slit_entrance_front, slit_entrance_side - ) - spectro_dict_tmp["exit_slit_width"] = max(slit_exit_front, slit_exit_side) + try: + slit_entrance_front = entry.get("Slit_Entrance-Front") / 1000 + slit_entrance_side = entry.get("Slit_Entrance-Side") / 1000 + slit_exit_front = entry.get("Slit_Exit-Front") / 1000 + slit_exit_side = entry.get("Slit_Exit-Side") / 1000 + except TypeError: + pass + else: + ## using the maximum here, because + ## only one entrance/exit should be in use anyways + spectro_dict_tmp["entrance_slit_width"] = max( + slit_entrance_front, slit_entrance_side + ) + spectro_dict_tmp["exit_slit_width"] = max( + slit_exit_front, slit_exit_side + ) all_spectrometers_dict[key] = spectro_dict_tmp return all_spectrometers_dict @staticmethod def _get_calibration_md(original_metadata): - try: - calibration_original = original_metadata["Document"]["InfoSerialized"][ - "Calibration" - ] - except KeyError: - central_wavelength = None + calibration_original = ( + original_metadata.get("Document", {}) + .get("InfoSerialized", {}) + .get("Calibration", {}) + ) + central_wavelength = calibration_original.get("Center_Wavelength") + laser_wavelength = calibration_original.get("Laser_Wavelength", 0) + ## covers 2 cases: calibration doesn't exist or it does exist, but value is 0 + if np.isclose(laser_wavelength, 0): laser_wavelength = None - else: - central_wavelength = _convert_float( - calibration_original.get("Center_Wavelength") - ) - laser_wavelength = _convert_float( - calibration_original.get("Laser_Wavelength") - ) - if laser_wavelength is not None: - if np.isclose(laser_wavelength, 0): - laser_wavelength = None return central_wavelength, laser_wavelength def map_metadata(self, original_metadata): - """Maps original_metadata to metadata.""" general = self._map_general_md(original_metadata) signal = self._map_signal_md(original_metadata) detector = self._map_detector_md(original_metadata) @@ -512,7 +504,6 @@ def map_metadata(self, original_metadata): return metadata def _get_signal_axis(self, axis_pos): - """Helper method to read and set signal axis.""" axis_list = axis_pos.findall("xDim") _error_handling_find_location( len(axis_list), "signal axis information" @@ -587,7 +578,6 @@ def _get_time_axis(time, axes_dict): @staticmethod def _get_nav_axis(name, axis): - """Helper method to read and set navigation axes.""" nav_dict = {} nav_dict["offset"] = float(axis["From"]) nav_dict["scale"] = float(axis["Step"]) @@ -598,7 +588,6 @@ def _get_nav_axis(name, axis): return nav_dict def set_axes(self, axis_head, signal_axis, time): - """Extracts signal and navigation axes.""" axes = dict() has_y = False has_x = False @@ -661,7 +650,6 @@ def set_axes(self, axis_head, signal_axis, time): @staticmethod def _parse_data(data_pos): - """Extracts data from file.""" data_list = data_pos.findall("Data") _error_handling_find_location(len(data_list), "data") # pragma: no cover @@ -713,7 +701,6 @@ def get_data_and_signal(self, data_head): return data, time, signal_axis def reshape_data(self, data, axes): - """Reshapes data according to axes sizes.""" if self._use_uniform_signal_axis: wavelength_size = axes[0][-1]["size"] else: diff --git a/upcoming_changes/138.enhancements.rst b/upcoming_changes/138.enhancements.rst new file mode 100644 index 000000000..5647bcd00 --- /dev/null +++ b/upcoming_changes/138.enhancements.rst @@ -0,0 +1 @@ +Switch to `utils.tools.XMlDict` to convert an `ET` to a `dict` for the trivista filereader. \ No newline at end of file