libCZI
Reading and Writing CZI documents made easy
Loading...
Searching...
No Matches
libCZI_Metadata2.h
1// SPDX-FileCopyrightText: 2017-2022 Carl Zeiss Microscopy GmbH
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#pragma once
6
7#include <cstdint>
8#include <string>
9#include <vector>
10#include <memory>
11#include "libCZI.h"
12
13namespace libCZI
14{
38
69
71 enum class DimensionChannelIlluminationType : std::uint8_t
72 {
75 Oblique,
76 NonLinear,
77 Other
78 };
79
94
96 enum class DimensionChannelPinholeGeometry : std::uint8_t
97 {
98 Circular,
100 Other
101 };
102
104 template <typename t>
106 {
109
112
115 };
116
119 {
122 {
123 SinglePeak,
124 Ranges
125 };
126
129
132
134 std::vector<RangeOrSingleValue<double>> ranges;
135 };
136
139 {
140 public:
144 virtual bool TryGetAttributeId(std::wstring* id) = 0;
145 virtual ~IAttributeId() = default;
146 };
147
150 {
151 public:
155 virtual bool TryGetAttributeName(std::wstring* name) = 0;
156 virtual ~IAttributeName() = default;
157 };
158
169
172 {
173 public:
178
182 virtual bool TryGetChannelUnit(std::wstring* unit) = 0;
183
187 virtual bool TryGetPixelType(PixelType* pixelType) = 0;
188
192 virtual bool TryGetComponentBitCount(int* bitCount) = 0;
193
197 virtual bool TryGetAcquisitionMode(DimensionChannelAcquisitionMode* acquisitionMode) = 0;
198
202 virtual bool TryGetIlluminationType(DimensionChannelIlluminationType* illuminationType) = 0;
203
207 virtual bool TryGetContrastMethod(DimensionChannelContrastMethod* contrastMethod) = 0;
208
212 virtual bool TryGetIlluminationWavelength(SpectrumCharacteristics* illuminationwavelength) = 0;
213
217 virtual bool TryGetDetectionWavelength(SpectrumCharacteristics* detectionwavelength) = 0;
218
222 virtual bool TryGetExcitationWavelength(double* excitationwavelength) = 0;
223
227 virtual bool TryGetEmissionWavelength(double* emissionwavelength) = 0;
228
232 virtual bool TryGetEffectiveNA(double* na) = 0;
233
237 virtual bool TryGetDyeId(std::wstring* dyeid) = 0;
238
242 virtual bool TryGetDyeDatabaseId(std::wstring* dyedatabaseid) = 0;
243
247 virtual bool TryGetPinholeSize(double* pinholesize) = 0;
248
252 virtual bool TryGetPinholeSizeAiry(double* pinholesizeairy) = 0;
253
257 virtual bool TryGetPinholeGeometry(DimensionChannelPinholeGeometry* pinholegeometry) = 0;
258
262 virtual bool TryGetFluor(std::wstring* fluor) = 0;
263
267 virtual bool TryGetNDFilter(double* ndfilter) = 0;
268
272 virtual bool TryGetPocketCellSetting(int* pocketcellsetting) = 0;
273
277 virtual bool TryGetColor(libCZI::Rgb8Color* color) = 0;
278
283
287 virtual bool TryGetDepthOfFocus(double* depthoffocus) = 0;
288
292 virtual bool TryGetSectionThickness(double* sectionthickness) = 0;
293
296 virtual std::shared_ptr<IDimensionChannelDetectorSettings> GetDetectorSettings() = 0;
297
300 virtual std::shared_ptr<IDimensionChannelLightSourcesSettings> GetLightSourcesSettings() = 0;
301
304 virtual std::shared_ptr<IDimensionChannelLightPath> GetLightPath() = 0;
305
308 virtual std::shared_ptr<IDimensionChannelLaserScanInfo> GetLaserScanInfo() = 0;
309
312 virtual std::shared_ptr<IDimensionChannelSPIMIlluminationSettings> GetSPIMIlluminationSettings() = 0;
313
316 virtual std::shared_ptr<IDimensionChannelSPIMDetectionSettings> GetSPIMDetectionSettings() = 0;
317
320 virtual std::shared_ptr<IDimensionChannelSIMSettings> GetSIMSettings() = 0;
321
324 virtual std::shared_ptr<IDimensionChannelPolarizingSettings> GetPolarizingSettings() = 0;
325
328 virtual std::shared_ptr<IDimensionChannelAiryscanSettings> GetAiryscanSettings() = 0;
329
333 virtual bool TryGetReflector(std::wstring* reflector) = 0;
334
338 virtual bool TryGetCondenserContrast(std::wstring* condensorContrast) = 0;
339
343 virtual bool TryGetNACondenser(double* naCondensor) = 0;
344
347 virtual std::shared_ptr<IDimensionChannelRatio> GetRatio() = 0;
348
349 ~IDimensionChannelInfo() override = default;
350 };
351
354 {
355 public:
358 virtual int GetChannelCount() const = 0;
359
363 virtual std::shared_ptr<IDimensionChannelInfo> GetChannel(int i) const = 0;
364
365 virtual ~IDimensionsChannelsInfo() = default;
366 };
367
369 enum class ChannelDetectorSettingsBinning : std::uint8_t
370 {
371 _1x1,
372 _2x2,
373 _4x4,
374 _8x8,
375 Other
376 };
377
379 enum class ChannelDetectorSettingsShutter : std::uint8_t
380 {
381 Rolling,
382 Global,
383 Other
384 };
385
387 enum class ChannelDetectorCameraProcessingMode :std::uint8_t
388 {
389 None,
390 Widefield,
391 Sectioned,
393 };
394
397 {
398 public:
402 virtual bool TryGetDetectorRef(std::wstring* detectorRef) = 0;
403
408
413
417 virtual bool TryGetPhotonConversionFactor(double* conversionFactor) = 0;
418
422 virtual bool TryGetGain(double* gain) = 0;
423
427 virtual bool TryGetDigitalGain(double* digitalgain) = 0;
428
432 virtual bool TryGetOffset(double* offset) = 0;
433
437 virtual bool TryGetEMGain(double* emgain) = 0;
438
442 virtual bool TryGetVoltage(double* voltage) = 0;
443
447 virtual bool TryGetReadOutRate(double* readoutrate) = 0;
448
453 virtual bool TryGetUseBrightnessContrastCorrection(bool* usebrightnesscontrastcorrection) = 0;
454
458 virtual bool TryGetPixelMaximum(double* pixelmaximum) = 0;
459
463 virtual bool TryGetPixelAccuracy(double* pixelaccuracy) = 0;
464
468 virtual bool TryGetPixelScaleFactor(double* pixelscalefactor) = 0;
469
474
475 virtual ~IDimensionChannelDetectorSettings() = default;
476 };
477
480 {
481 public:
484 {
486 double stokesParameter[4];
487 };
488
492 virtual bool TryGetLightSourceRef(std::wstring* lightsourceref) = 0;
493
497 virtual bool TryGetWavelength(double* wavelength) = 0;
498
502 virtual bool TryGetAttenuation(double* attenuation) = 0;
503
507 virtual bool TryGetTransmission(double* transmission) = 0;
508
512 virtual bool TryGetIntensity(std::wstring* intensity) = 0;
513
517 virtual bool TryGetFlashDuration(double* flashduration) = 0;
518
522 virtual bool TryGetTIRFAngle(double* tirfangle) = 0;
523
527 virtual bool TryGetTIRFDepthOfPenetration(double* tirfdepthofpenetration) = 0;
528
532 virtual bool TryGetIsTIRFCalibrated(bool* isTIRFcalibrated) = 0;
533
537 virtual bool TryGetIsNlo(bool* isnlo) = 0;
538
542 virtual bool TryGetPolarization(Polarization* polarization) = 0;
543
544 virtual ~IDimensionChannelLightSourcesSetting() = default;
545 };
546
549 {
550 public:
553 virtual int GetLightSourceSettingCount() const = 0;
554
558 virtual std::shared_ptr<IDimensionChannelLightSourcesSetting> GetLightSourceSetting(int i) const = 0;
559
560 virtual ~IDimensionChannelLightSourcesSettings() = default;
561 };
562
565 {
566 public:
572 virtual bool TryGetExcitationFilterRef(std::wstring* excitationFilterRef) = 0;
573
577 virtual bool TryGetDichroicFilterRef(std::wstring* dichroicRef) = 0;
578
584 virtual bool TryGetEmissionFilterRef(std::wstring* emissionFilterRef) = 0;
585
586 virtual ~IDimensionChannelLightPath() = default;
587 };
588
591 {
592 Frame,
593 FastFrame,
595 Line,
596 Spot,
597 Other
598 };
599
602 {
605 };
606
609 {
610 Mean,
611 Sum,
612 Other
613 };
614
617 {
618 Frame,
619 Line,
620 Other
621 };
622
625 {
626 On,
627 Off
628 };
629
632 {
633 public:
637 virtual bool TryGetPixelTime(double* pixelTime) = 0;
638
642 virtual bool TryGetLineTime(double* lineTime) = 0;
643
647 virtual bool TryGetFrameTime(double* frameTime) = 0;
648
652 virtual bool TryGetAveraging(int* averaging) = 0;
653
658
662 virtual bool TryGetSampleRotation(double* sampleRotation) = 0;
663
667 virtual bool TryGetSampleOffsetX(double* sampleOffsetX) = 0;
668
672 virtual bool TryGetSampleOffsetY(double* sampleOffsetY) = 0;
673
679
683 virtual bool TryGetZoomX(double* zoomX) = 0;
684
688 virtual bool TryGetZoomY(double* zoomY) = 0;
689
693 virtual bool TryGetZoomZ(double* zoomZ) = 0;
694
698 virtual bool TryGetCropOffset(double* cropOffset) = 0;
699
703 virtual bool TryGetLaserAttenuatorMeas(double* laserAttenuatorMeas) = 0;
704
708 virtual bool TryGetLaserBlanking(double* laserBlanking) = 0;
709
713 virtual bool TryGetLaserAttenuatorBleach(double* laserAttenuatorBleach) = 0;
714
718 virtual bool TryGetLineStep(std::uint32_t* lineStep) = 0;
719
723 virtual bool TryGetScanSpeed(int* scanSpeed) = 0;
724
730
735
740
741 virtual ~IDimensionChannelLaserScanInfo() = default;
742 };
743
746 {
747 Gauss,
748 Bessel,
749 Other
750 };
751
752 class IInstrumentObjectiveSettings;
753 class ISPIMIlluminationResonanceScannerSettings;
754 class ISPIMIlluminationGalvoScannerSettings;
755
758 {
759 public:
763 virtual bool TryGetNALightSheet(double* naLightSheet) = 0;
764
769
773 virtual bool TryGetCylinderLensRef(std::wstring* cylinderLensRef) = 0;
774
777 virtual std::shared_ptr<IInstrumentObjectiveSettings> GetIlluminationObjectiveSettings() = 0;
778
781 virtual std::shared_ptr<ISPIMIlluminationResonanceScannerSettings> GetResonanceScannerSettings() = 0;
782
785 virtual std::shared_ptr<ISPIMIlluminationGalvoScannerSettings> GetGalvoScannerSettings() = 0;
786
788 };
789
792 {
793 public:
795 enum class Medium : std::uint8_t
796 {
797 Air,
798 Oil,
799 Water,
800 Glycerol,
801 Other
802 };
803
807 virtual bool TryGetObjectiveRef(std::wstring* objectiveRef) = 0;
808
812 virtual bool TryGetMedium(Medium* medium) = 0;
813
817 virtual bool TryGetCorrectionCollar(double* correctioncollar) = 0;
818
822 virtual bool TryGetCorrectionCollar2(double* correctioncollar2) = 0;
823
828 virtual bool TryGetCorrectionControllerMode(std::wstring* correctioncontrollermode) = 0;
829
835 virtual bool TryGetCorrectionControllerBottomThickness(double* correctioncontrollerbottomthickness) = 0;
836
842 virtual bool TryGetCorrectionControllerImagingDepth(double* correctioncontrollerimagingdepth) = 0;
843
847 virtual bool TryGetRefractiveIndex(double* refractiveindex) = 0;
848
849 virtual ~IInstrumentObjectiveSettings() = default;
850 };
851
854 {
855 public:
859 virtual bool TryGetAmplitude(double* amplitude) = 0;
860
862 };
863
866 {
867 public:
871 virtual bool TryGetAmplitudeYScan(double* amplitudeYScan) = 0;
872
876 virtual bool TryGetFrequency(double* frequency) = 0;
877
881 virtual bool TryGetOffset1Left(double* offset1Left) = 0;
882
886 virtual bool TryGetOffset1Right(double* offset1Right) = 0;
887
891 virtual bool TryGetOffset2Left(double* offset2Left) = 0;
892
896 virtual bool TryGetOffset2Right(double* offset2Right) = 0;
897
898 virtual ~ISPIMIlluminationGalvoScannerSettings() = default;
899 };
900
903 {
904 public:
908 virtual bool TryGetNADetection(double* naDetection) = 0;
909
910 virtual ~IDimensionChannelSPIMDetectionSettings() = default;
911 };
912
915 {
916 public:
920 virtual bool TryGetSIMDeviceRef(std::wstring* simDeviceRef) = 0;
921
925 virtual bool TryGetGratingPeriod(double* gratingPeriod) = 0;
926
930 virtual bool TryGetGratingRotation(double* gratingRotation) = 0;
931
935 virtual bool TryGetGridDescription(std::wstring* gridDescription) = 0;
936
940 virtual bool TryGetReflector(std::wstring* reflector) = 0;
941
945 virtual bool TryGetFilterSetRef(std::wstring* filterSetRef) = 0;
946
950 virtual bool TryGetDiffractionEfficiency1(double* diffractionEfficiency1) = 0;
951
955 virtual bool TryGetDiffractionEfficiency2(double* diffractionEfficiency2) = 0;
956
960 virtual bool TryGetDiffractionEfficiency3(double* diffractionEfficiency3) = 0;
961
962 virtual ~IDimensionChannelSIMSettings() = default;
963 };
964
967 {
968 public:
972 virtual bool TryGetPolarizerAngle(double* polarizerAngle) = 0;
973
977 virtual bool TryGetAnalyzerAngle(double* analyzerAngle) = 0;
978
979 virtual ~IDimensionChannelPolarizingSettings() = default;
980 };
981
984 {
985 public:
987 struct Vector
988 {
989 double x;
990 double y;
991 };
992
996 virtual bool TryGetIlluminationLinePixels(Vector* illuminationLinePixels) = 0;
997
1001 virtual bool TryGetIlluminationLine(Vector* illuminationLine) = 0;
1002
1006 virtual bool TryGetFiberMapping(std::vector<int>* mapping) = 0;
1007
1011 virtual bool TryGetEffectiveNAinX(double* effectiveNAinX) = 0;
1012
1016 virtual bool TryGetEffectiveNAinY(double* effectiveNAinY) = 0;
1017
1018 virtual ~IFastAiryScanSettings() = default;
1019 };
1020
1023 {
1024 public:
1026 enum class Mode :std::uint8_t
1027 {
1030 MultiBeam,
1031 Off
1032 };
1033
1037 virtual bool TryGetMode(Mode* mode) = 0;
1038
1041 virtual std::shared_ptr<IFastAiryScanSettings> GetFastAiryScanSettings() = 0;
1042
1046 virtual bool TryGetVirtualPinholeSize(double* virtualPinholeSize) = 0;
1047
1051 virtual bool TryGetMagnification(double* magnification) = 0;
1052
1056 virtual bool TryGetTransformationXX(double* transformationXX) = 0;
1057
1061 virtual bool TryGetTransformationXY(double* transformationXY) = 0;
1062
1066 virtual bool TryGetTransformationYX(double* transformationYX) = 0;
1067
1071 virtual bool TryGetTransformationYY(double* transformationYY) = 0;
1072
1073 virtual ~IDimensionChannelAiryscanSettings() = default;
1074 };
1075
1078 {
1079 public:
1101 enum class Type : std::uint8_t
1102 {
1104 OnlineRatio,
1110 };
1111
1115 virtual bool TryGetType(Type* type) = 0;
1116
1120 virtual bool TryGetConst1(double* c1) = 0;
1121
1125 virtual bool TryGetConst2(double* c2) = 0;
1126
1130 virtual bool TryGetConst3(double* c3) = 0;
1131
1135 virtual bool TryGetConst4(double* c4) = 0;
1136
1140 virtual bool TryGetConst5(double* c5) = 0;
1141
1145 virtual bool TryGetConst6(double* c6) = 0;
1146
1151 virtual bool TryGetSource1(std::vector<std::wstring>* source1) = 0;
1152
1157 virtual bool TryGetSource2(std::vector<std::wstring>* source2) = 0;
1158
1159 virtual ~IDimensionChannelRatio() = default;
1160 };
1161}
This interface is used for all elements that contain an 'id' (as XML-attribute).
Definition libCZI_Metadata2.h:139
virtual bool TryGetAttributeId(std::wstring *id)=0
This interface is used for all elements that contain a 'name' (as XML-attribute).
Definition libCZI_Metadata2.h:150
virtual bool TryGetAttributeName(std::wstring *name)=0
The airy scan settings.
Definition libCZI_Metadata2.h:1023
virtual bool TryGetMagnification(double *magnification)=0
virtual bool TryGetTransformationXY(double *transformationXY)=0
virtual bool TryGetMode(Mode *mode)=0
virtual bool TryGetTransformationYX(double *transformationYX)=0
Mode
Values that represent the mode.
Definition libCZI_Metadata2.h:1027
@ VirtualPinhole
An enum constant representing the virtual pinhole option.
@ MultiBeam
An enum constant representing the multi beam option.
@ SuperResolution
An enum constant representing the super resolution option.
@ Off
An enum constant representing the off option.
virtual std::shared_ptr< IFastAiryScanSettings > GetFastAiryScanSettings()=0
virtual bool TryGetTransformationYY(double *transformationYY)=0
virtual bool TryGetVirtualPinholeSize(double *virtualPinholeSize)=0
virtual bool TryGetTransformationXX(double *transformationXX)=0
The detector settings.
Definition libCZI_Metadata2.h:397
virtual bool TryGetEMGain(double *emgain)=0
virtual bool TryGetVoltage(double *voltage)=0
virtual bool TryGetCameraProcessingMode(ChannelDetectorCameraProcessingMode *mode)=0
virtual bool TryGetDigitalGain(double *digitalgain)=0
virtual bool TryGetPixelMaximum(double *pixelmaximum)=0
virtual bool TryGetUseBrightnessContrastCorrection(bool *usebrightnesscontrastcorrection)=0
virtual bool TryGetDetectorRef(std::wstring *detectorRef)=0
virtual bool TryGetReadOutRate(double *readoutrate)=0
virtual bool TryGetOffset(double *offset)=0
virtual bool TryGetGain(double *gain)=0
virtual bool TryGetShutter(ChannelDetectorSettingsShutter *shutter)=0
virtual bool TryGetPixelAccuracy(double *pixelaccuracy)=0
virtual bool TryGetPixelScaleFactor(double *pixelscalefactor)=0
virtual bool TryGetBinning(ChannelDetectorSettingsBinning *binning)=0
virtual bool TryGetPhotonConversionFactor(double *conversionFactor)=0
Information about the dimension "channel".
Definition libCZI_Metadata2.h:172
virtual bool TryGetColor(libCZI::Rgb8Color *color)=0
virtual bool TryGetReflector(std::wstring *reflector)=0
virtual std::shared_ptr< IDimensionChannelDetectorSettings > GetDetectorSettings()=0
virtual bool TryGetPinholeGeometry(DimensionChannelPinholeGeometry *pinholegeometry)=0
virtual bool TryGetIlluminationType(DimensionChannelIlluminationType *illuminationType)=0
virtual std::shared_ptr< IDimensionChannelLightSourcesSettings > GetLightSourcesSettings()=0
virtual bool TryGetDyeDatabaseId(std::wstring *dyedatabaseid)=0
virtual bool TryGetExcitationWavelength(double *excitationwavelength)=0
virtual bool TryGetCondenserContrast(std::wstring *condensorContrast)=0
virtual bool TryGetNDFilter(double *ndfilter)=0
virtual bool TryGetEmissionWavelength(double *emissionwavelength)=0
virtual bool TryGetNACondenser(double *naCondensor)=0
virtual bool TryGetChannelUnit(std::wstring *unit)=0
virtual std::shared_ptr< IDimensionChannelSPIMIlluminationSettings > GetSPIMIlluminationSettings()=0
virtual std::shared_ptr< IDimensionChannelSPIMDetectionSettings > GetSPIMDetectionSettings()=0
virtual bool TryGetIlluminationWavelength(SpectrumCharacteristics *illuminationwavelength)=0
virtual bool TryGetPixelType(PixelType *pixelType)=0
virtual bool TryGetChannelType(DimensionChannelChannelType *type)=0
virtual bool TryGetDetectionWavelength(SpectrumCharacteristics *detectionwavelength)=0
virtual bool TryGetDyeId(std::wstring *dyeid)=0
virtual bool TryGetSectionThickness(double *sectionthickness)=0
virtual bool TryGetFluor(std::wstring *fluor)=0
virtual std::shared_ptr< IDimensionChannelLaserScanInfo > GetLaserScanInfo()=0
virtual bool TryGetDepthOfFocus(double *depthoffocus)=0
virtual std::shared_ptr< IDimensionChannelRatio > GetRatio()=0
virtual bool TryGetEffectiveNA(double *na)=0
virtual bool TryGetExposureTime(RangeOrSingleValue< std::uint64_t > *exposuretime)=0
virtual std::shared_ptr< IDimensionChannelPolarizingSettings > GetPolarizingSettings()=0
virtual std::shared_ptr< IDimensionChannelLightPath > GetLightPath()=0
virtual bool TryGetContrastMethod(DimensionChannelContrastMethod *contrastMethod)=0
virtual bool TryGetPinholeSizeAiry(double *pinholesizeairy)=0
virtual bool TryGetAcquisitionMode(DimensionChannelAcquisitionMode *acquisitionMode)=0
virtual bool TryGetComponentBitCount(int *bitCount)=0
virtual std::shared_ptr< IDimensionChannelAiryscanSettings > GetAiryscanSettings()=0
virtual bool TryGetPinholeSize(double *pinholesize)=0
virtual bool TryGetPocketCellSetting(int *pocketcellsetting)=0
virtual std::shared_ptr< IDimensionChannelSIMSettings > GetSIMSettings()=0
Information about the laser scan.
Definition libCZI_Metadata2.h:632
virtual bool TryGetPixelTime(double *pixelTime)=0
virtual bool TryGetZoomX(double *zoomX)=0
virtual bool TryGetCropOffset(double *cropOffset)=0
virtual bool TryGetScanDirection(DimensionChannelLaserScanScanDirection *scanDirection)=0
virtual bool TryGetLineTime(double *lineTime)=0
virtual bool TryGetSampleRotation(double *sampleRotation)=0
virtual bool TryGetZoomY(double *zoomY)=0
virtual bool TryGetScanSpeed(int *scanSpeed)=0
virtual bool TryGetSampleOffsetX(double *sampleOffsetX)=0
virtual bool TryGetAveragingMode(DimensionChannelLaserScanAveragingMode *averagingMode)=0
virtual bool TryGetZoomZ(double *zoomZ)=0
virtual bool TryGetLaserAttenuatorBleach(double *laserAttenuatorBleach)=0
virtual bool TryGetFrameTime(double *frameTime)=0
virtual bool TryGetSampleOffsetY(double *sampleOffsetY)=0
virtual bool TryGetAveragingMethod(DimensionChannelLaserScanAveragingMethod *averagingMethod)=0
virtual bool TryGetScanningMode(DimensionChannelLaserScanScanningMode *mode)=0
virtual bool TryGetAveraging(int *averaging)=0
virtual bool TryGetLineStep(std::uint32_t *lineStep)=0
virtual bool TryGetLaserAttenuatorMeas(double *laserAttenuatorMeas)=0
virtual bool TryGetLaserBlanking(double *laserBlanking)=0
virtual bool TryGetLaserAttenuatorState(DimensionChannelLaserScanLaserAttenuatorState *attenuatorState)=0
The light path information.
Definition libCZI_Metadata2.h:565
virtual bool TryGetDichroicFilterRef(std::wstring *dichroicRef)=0
virtual bool TryGetExcitationFilterRef(std::wstring *excitationFilterRef)=0
virtual bool TryGetEmissionFilterRef(std::wstring *emissionFilterRef)=0
The light sources settings.
Definition libCZI_Metadata2.h:480
virtual bool TryGetTIRFAngle(double *tirfangle)=0
virtual bool TryGetWavelength(double *wavelength)=0
virtual bool TryGetIsNlo(bool *isnlo)=0
virtual bool TryGetIsTIRFCalibrated(bool *isTIRFcalibrated)=0
virtual bool TryGetPolarization(Polarization *polarization)=0
virtual bool TryGetLightSourceRef(std::wstring *lightsourceref)=0
virtual bool TryGetIntensity(std::wstring *intensity)=0
virtual bool TryGetFlashDuration(double *flashduration)=0
virtual bool TryGetAttenuation(double *attenuation)=0
virtual bool TryGetTransmission(double *transmission)=0
virtual bool TryGetTIRFDepthOfPenetration(double *tirfdepthofpenetration)=0
The light sources settings keyed by channel index.
Definition libCZI_Metadata2.h:549
virtual int GetLightSourceSettingCount() const =0
virtual std::shared_ptr< IDimensionChannelLightSourcesSetting > GetLightSourceSetting(int i) const =0
The polarizer settings.
Definition libCZI_Metadata2.h:967
virtual bool TryGetPolarizerAngle(double *polarizerAngle)=0
virtual bool TryGetAnalyzerAngle(double *analyzerAngle)=0
Information about the channel ratio.
Definition libCZI_Metadata2.h:1078
virtual bool TryGetSource1(std::vector< std::wstring > *source1)=0
virtual bool TryGetConst2(double *c2)=0
virtual bool TryGetConst5(double *c5)=0
virtual bool TryGetSource2(std::vector< std::wstring > *source2)=0
virtual bool TryGetConst3(double *c3)=0
virtual bool TryGetConst6(double *c6)=0
virtual bool TryGetType(Type *type)=0
Type
Definition libCZI_Metadata2.h:1102
@ OnlineLinearUnmixing
An enum constant representing the "online un-mixing calculation option".
@ OnlineReferenceRatio
An enum constant representing the "online reference ratio calculation option".
@ NoOnlineCalculation
An enum constant representing the "no online calculation option".
@ OnlineHillFunction
An enum constant representing the "online Hill function calculation option".
@ OnlineRatio
An enum constant representing the "online ratio calculation option".
@ OnlineSubtraction
An enum constant representing the "online subtraction calculation option".
@ OnlineSubtractionRatio
An enum constant representing the "online subtraction and ratio calculation option".
virtual bool TryGetConst1(double *c1)=0
virtual bool TryGetConst4(double *c4)=0
The SIM (Structured Illumination Microscopy) settings.
Definition libCZI_Metadata2.h:915
virtual bool TryGetReflector(std::wstring *reflector)=0
virtual bool TryGetDiffractionEfficiency3(double *diffractionEfficiency3)=0
virtual bool TryGetGratingRotation(double *gratingRotation)=0
virtual bool TryGetGratingPeriod(double *gratingPeriod)=0
virtual bool TryGetGridDescription(std::wstring *gridDescription)=0
virtual bool TryGetSIMDeviceRef(std::wstring *simDeviceRef)=0
virtual bool TryGetDiffractionEfficiency2(double *diffractionEfficiency2)=0
virtual bool TryGetDiffractionEfficiency1(double *diffractionEfficiency1)=0
virtual bool TryGetFilterSetRef(std::wstring *filterSetRef)=0
The SPIM detection settings.
Definition libCZI_Metadata2.h:903
virtual bool TryGetNADetection(double *naDetection)=0
The SPIM illumination settings.
Definition libCZI_Metadata2.h:758
virtual bool TryGetBeamType(DimensionChannelSPIMIlluminationSettingsBeamType *beamType)=0
virtual std::shared_ptr< ISPIMIlluminationGalvoScannerSettings > GetGalvoScannerSettings()=0
virtual std::shared_ptr< ISPIMIlluminationResonanceScannerSettings > GetResonanceScannerSettings()=0
virtual std::shared_ptr< IInstrumentObjectiveSettings > GetIlluminationObjectiveSettings()=0
virtual bool TryGetNALightSheet(double *naLightSheet)=0
virtual bool TryGetCylinderLensRef(std::wstring *cylinderLensRef)=0
Information about the set of channels.
Definition libCZI_Metadata2.h:354
virtual int GetChannelCount() const =0
virtual std::shared_ptr< IDimensionChannelInfo > GetChannel(int i) const =0
The fast airy scan settings.
Definition libCZI_Metadata2.h:984
virtual bool TryGetIlluminationLine(Vector *illuminationLine)=0
virtual bool TryGetFiberMapping(std::vector< int > *mapping)=0
virtual bool TryGetEffectiveNAinY(double *effectiveNAinY)=0
virtual bool TryGetEffectiveNAinX(double *effectiveNAinX)=0
virtual bool TryGetIlluminationLinePixels(Vector *illuminationLinePixels)=0
The objective settings.
Definition libCZI_Metadata2.h:792
virtual bool TryGetCorrectionControllerBottomThickness(double *correctioncontrollerbottomthickness)=0
virtual bool TryGetRefractiveIndex(double *refractiveindex)=0
virtual bool TryGetMedium(Medium *medium)=0
virtual bool TryGetObjectiveRef(std::wstring *objectiveRef)=0
Medium
Values that represent the medium.
Definition libCZI_Metadata2.h:796
@ Water
An enum constant representing the medium water.
@ Oil
An enum constant representing the medium oil.
@ Other
An enum constant representing that some other medium was used.
@ Air
An enum constant representing the medium air.
@ Glycerol
An enum constant representing the medium glycerol.
virtual bool TryGetCorrectionControllerImagingDepth(double *correctioncontrollerimagingdepth)=0
virtual bool TryGetCorrectionCollar2(double *correctioncollar2)=0
virtual bool TryGetCorrectionCollar(double *correctioncollar)=0
virtual bool TryGetCorrectionControllerMode(std::wstring *correctioncontrollermode)=0
The settings of the SPIM galvo scanner.
Definition libCZI_Metadata2.h:866
virtual bool TryGetOffset1Left(double *offset1Left)=0
virtual bool TryGetAmplitudeYScan(double *amplitudeYScan)=0
virtual bool TryGetOffset1Right(double *offset1Right)=0
virtual bool TryGetOffset2Left(double *offset2Left)=0
virtual bool TryGetFrequency(double *frequency)=0
virtual bool TryGetOffset2Right(double *offset2Right)=0
The SPIM illumination resonance scanner settings.
Definition libCZI_Metadata2.h:854
virtual bool TryGetAmplitude(double *amplitude)=0
External interfaces, classes, functions and structs are found in the namespace "libCZI".
Definition libCZI.h:31
DimensionChannelContrastMethod
Values that represent a contrast method, a technique used to achieve contrast, for the images in a ch...
Definition libCZI_Metadata2.h:82
@ HoffmanModulation
Hoffman Modulation Contrast (HMC) was used.
@ Darkfield
Dark Field Imaging was used.
@ ObliqueIllumination
Oblique illumination was used.
@ Brightfield
Bright filed micrsocopy was used.
@ PolarizedLight
Polarization microscopy was used.
@ MultiPhotonFluorescence
Multi-photon excitation was employed.
@ DIC
Differential Interference Contrast was used.
@ Fluorescence
Fluorescence microscopy was used.
DimensionChannelAcquisitionMode
Definition libCZI_Metadata2.h:42
@ ApertureCorrelation
The channel contains image from aperture correlation (a specific application of Structured Illuminati...
@ FIB
The channel contains images from focus ion beam microscopy.
@ FluorescenceCorrelationSpectroscopy
Unknown denotation.
@ SEM
The channel contains images from scanning electron microscopy.
@ LCM
The channel contains images from laser capture micro dissection.
@ SPIM
The channel contains images from selective-plane-illumination microscopy.
@ STORM
The channel contains images from stochastic optical reconstruction microscopy.
@ WideField
The channel contains images from wide field microscopy.
@ FluorescenceLifetime
Unknown denotation.
@ LaserScanningConfocalMicroscopy
The channel contains images from laser-scanning-confocal microscopy.
@ Other
Some other type of image formation.
@ StructuredIllumination
The channel contains images from structured-illumination microscopy system.
@ SecondHarmonicGenerationImaging
The channel contains images from Second harmonic imaging microscopy (SHIM).
@ STED
The channel contains images from stimulated emission depletion microscopy.
@ TotalInternalReflection
The channel contains images from a TIRF microscopy system.
@ FSM
The channel contains images from Fluorescence speckle microscopy.
@ NearFieldScanningOpticalMicroscopy
Unknown denotation.
@ SpinningDiskConfocal
The channel contains images from a confocal spinning-disk system.
@ TIRF
The channel contains images from total internal reflection fluorescence (TIRFM).
@ PALM
The channel contains images from photo-activation localization microscopy.
@ FIB_SEM
The channel contains images from focus ion beam and scanning electron microscopy.
@ MultiPhotonMicroscopy
The channel contains images an image from a multi-photon-microscopy system.
ChannelDetectorCameraProcessingMode
Values that represent the detector processing mode.
Definition libCZI_Metadata2.h:388
@ None
No camera processing was used.
@ Widefield
Widefield processing mode was used.
@ Sectioned
Sectioned processing mode was used.
DimensionChannelIlluminationType
Values that represent the method of illumination used to acquire the channel.
Definition libCZI_Metadata2.h:72
@ Epifluorescence
Objective was used to bring light to the specimen.
@ Transmitted
Transmitted light was used.
ChannelDetectorSettingsBinning
Values that represent the binning mode of a detector.
Definition libCZI_Metadata2.h:370
@ _1x1
1x1 pixels are used (i.e. no binning).
DimensionChannelLaserScanAveragingMethod
Values that represent the laser scan averaging methods.
Definition libCZI_Metadata2.h:609
@ Mean
An enum constant representing the mean laser scan averaging method.
@ Sum
An enum constant representing the sum laser scan averaging method.
DimensionChannelLaserScanLaserAttenuatorState
Values that represent the channel laser scan laser attenuator state.
Definition libCZI_Metadata2.h:625
@ On
An enum constant representing the on option.
@ Off
An enum constant representing the off option.
DimensionChannelChannelType
Definition libCZI_Metadata2.h:21
@ OnlineUnmixing
This channel contains the result of an online unmixing acquisition with a laser-scanning microscope.
@ AiryScanRaw
This channel contains the images of all sensors in the Airy-Scan-sensor-array.
@ AiryScanSum
This channel contains a processed (combined) super-resolution from an Airy-scan-acquisition in draft ...
@ PalWidefield
Unknown denotation.
@ Heightmap
This channel represents a heightmap. Note that additional restrictions apply when declaring a channel...
@ AiryScanSr
This channel contains the (processed) super-resolution image.
@ AiryScanMb
This channel contains the (processed) "multi-beam" image.
@ AiryScanVp
This channel contains the (processed) "virtual pinhole" image.
@ AiryScanRawSr
This channel contains the images of all sensors in the Airy-Scan-sensor-array.
@ SimWidefield
Unknown denotation.
@ AiryScanRingSheppardSum
This channel contains the Sheppard-sum created from 4 fiber-rings.
ChannelDetectorSettingsShutter
Values that represent the behavior of the shutter.
Definition libCZI_Metadata2.h:380
@ Global
A global shutter mode was used.
@ Rolling
A rolling shutter mode was used.
DimensionChannelLaserScanScanDirection
Values that represent the laser scan direction.
Definition libCZI_Metadata2.h:602
@ Unidirectional
An enum constant representing the unidirectional scan direction.
@ Bidirectional
An enum constant representing the bidirectional scan direction.
PixelType
An enum representing a pixel-type.
Definition libCZI_Pixels.h:144
DimensionChannelPinholeGeometry
Values that represent the pinhole geometry.
Definition libCZI_Metadata2.h:97
@ Rectangular
An enum constant representing a rectangular pinhole.
@ Circular
An enum constant representing a circular pinhole.
DimensionChannelLaserScanAveragingMode
Values that represent the laser scan averaging mode.
Definition libCZI_Metadata2.h:617
DimensionChannelSPIMIlluminationSettingsBeamType
Values that represent the beam type for SPIM illumination.
Definition libCZI_Metadata2.h:746
@ Bessel
An enum constant representing the Bessel beam type.
@ Gauss
An enum constant representing the Gauss beam type.
DimensionChannelLaserScanScanningMode
Values that represent the laser scanning mode.
Definition libCZI_Metadata2.h:591
@ Frame
An enum constant representing the frame scanning mode.
@ Line
An enum constant representing the line scanning mode.
@ Spot
An enum constant representing the spot scanning mode.
@ FastFrame
An enum constant representing the fast frame scanning mode.
@ LineSequential
An enum constant representing the line sequential scanning mode.
Description of the polarization.
Definition libCZI_Metadata2.h:484
double stokesParameter[4]
The stokes parameters, for validity of a value check the corresponding boolean.
Definition libCZI_Metadata2.h:486
bool stokesParameterValid[4]
A boolean array, indicating whether the corresponding values are valid.
Definition libCZI_Metadata2.h:485
A 2D-vector.
Definition libCZI_Metadata2.h:988
double x
The x coordinate.
Definition libCZI_Metadata2.h:989
double y
The y coordinate.
Definition libCZI_Metadata2.h:990
This struct represents either a single value or a range.
Definition libCZI_Metadata2.h:106
bool singleValue
True if this struct represents a single value. In this case, the property end is invalid.
Definition libCZI_Metadata2.h:108
t end
The end of the range (only valid if singleValue is false).
Definition libCZI_Metadata2.h:114
t startOrSingleValue
The start value of a range (in the case that singleValue is false) or the single value (if singleValu...
Definition libCZI_Metadata2.h:111
A structure representing an R-G-B-color triple (as bytes).
Definition libCZI_Pixels.h:128
Structure used to describe the spectral characteristic of light.
Definition libCZI_Metadata2.h:119
InformationType type
The type of information given.
Definition libCZI_Metadata2.h:128
InformationType
Values that represent the "type of information given".
Definition libCZI_Metadata2.h:122
@ Ranges
An enum constant representing that a set of ranges are used to characterize the spectrum.
@ SinglePeak
An enum constant representing that a single peak is characterized.
double singlePeak
The single peak (only valid if "type" is "InformationType::SinglePeak").
Definition libCZI_Metadata2.h:131
std::vector< RangeOrSingleValue< double > > ranges
The set of ranges (only valid if "type" is "InformationType::Ranges").
Definition libCZI_Metadata2.h:134