libCZI
Reading and Writing CZI documents made easy
libCZI::IDimensionZInfo Class Referenceabstract

This structure defines the information for the "Z-dimension". It resembles the ZEN-metadata-structure "Dimensions/Z". More...

#include <libCZI_Metadata.h>

Public Types

enum class  XyzHandedness : std::uint8_t { LeftHanded , RightHanded , Undefined }
 
enum class  ZaxisDirection : std::uint8_t { FromSpecimenToObjective , FromObjectiveToSpecimen , Undefined }
 
enum class  ZDriveMode : std::uint8_t { Continuous , Step }
 

Public Member Functions

virtual bool TryGetReferencePosition (double *d)=0
 
virtual bool TryGetIntervalDefinition (double *offset, double *increment)=0
 
virtual bool TryGetPositionList (std::vector< double > *positions)=0
 
virtual bool TryGetXyzHandedness (XyzHandedness *xyzHandedness)=0
 
virtual bool TryGetZAxisDirection (ZaxisDirection *zAxisDirection)=0
 
virtual bool TryGetZDriveMode (ZDriveMode *zdrivemode)=0
 
virtual bool TryZDriveSpeed (double *zdrivespeed)=0
 

Detailed Description

This structure defines the information for the "Z-dimension". It resembles the ZEN-metadata-structure "Dimensions/Z".

Member Enumeration Documentation

◆ XyzHandedness

enum libCZI::IDimensionZInfo::XyzHandedness : std::uint8_t
strong

Specifies the chirality of the coordinate system defined by

  • X axis in a subblock, from left to right
  • Y axis in a subblock, from top to bottom(-> origin in the top-left corner)
  • Z axis given by Z-index This chirality is used when arranging the z-slices spatially according to their Z-index. It is recommended to ensure that the chirality(and the order of the z-slices) is unchanged when arranging the z-slices according to their associated distances(as given by ../Dimensions/Z/Positions).
Enumerator
LeftHanded 

The coordinate-system is orientated left-handed.

RightHanded 

The coordinate-system is orientated right-handed.

Undefined 

The coordinate-system is undefined.

◆ ZaxisDirection

enum libCZI::IDimensionZInfo::ZaxisDirection : std::uint8_t
strong

We define the z-axis to be collinear with the optical axis. On this axis the z-coordinates of the focal plane are measured, and their distances are found in the Z-labels (defined under ../Dimensions/Z/Positions) and the FocusPosition-field found in subblock-metadata. The direction of the axis may either be “from specimen to objective” or “from objective to specimen”. In this coordinate system the specimen is at a fixed position.Note that the origin of the coordinate system is not defined here. Possible values are: FromSpecimenToObjective, FromObjectiveToSpecimen and undefined. Undefined is the default (and to be assumed if this element is not present). Note that the coordinate system defined here is different to the one defined with "XYZHandedness".

Enumerator
FromSpecimenToObjective 

The z-axis is pointing from specimen to objective.

FromObjectiveToSpecimen 

The z-axis is pointing from objective to specimen.

Undefined 

This parameter is undefined.

◆ ZDriveMode

enum libCZI::IDimensionZInfo::ZDriveMode : std::uint8_t
strong

Description of mode of operation of the Z-Drive. "Continuous" means that the z - drive did not stop while acquiring the image. "Step" means that the Z - drive did not move during the acquisition of the image. Used for SPIM.

Enumerator
Continuous 

The z-drive did not stop while acquiring the image.

Step 

The z-drive did not move during the acquisition of the image.

Member Function Documentation

◆ TryGetIntervalDefinition()

virtual bool libCZI::IDimensionZInfo::TryGetIntervalDefinition ( double *  offset,
double *  increment 
)
pure virtual

Attempts to get interval definition for the z-positions.

Parameters
[in,out]offsetIf non-null and the method was successful, the offset is stored here.
[in,out]incrementIf non-null and the method was successful, the increment is stored here.
Returns
True if it succeeds, false if it fails.

◆ TryGetPositionList()

virtual bool libCZI::IDimensionZInfo::TryGetPositionList ( std::vector< double > *  positions)
pure virtual

Attempts to get list definition for the z-positions.

Parameters
[in,out]positionsIf non-null and the method was successful, the list of positions is stored here.
Returns
True if it succeeds, false if it fails.

◆ TryGetReferencePosition()

virtual bool libCZI::IDimensionZInfo::TryGetReferencePosition ( double *  d)
pure virtual

Gets the reference position in units of µm. If this is not valid, then the Z-positions only have a relative meaning.

Parameters
[in,out]dIf non-null, the double will receive the requested value if successful.
Returns
True if it succeeds, false if it fails.

◆ TryGetXyzHandedness()

virtual bool libCZI::IDimensionZInfo::TryGetXyzHandedness ( XyzHandedness xyzHandedness)
pure virtual

Attempts to get XYZ-handedness property.

Parameters
[in,out]xyzHandednessIf non-null and the method was successful, the XYZ-handedness is stored here.
Returns
True if it succeeds, false if it fails.

◆ TryGetZAxisDirection()

virtual bool libCZI::IDimensionZInfo::TryGetZAxisDirection ( ZaxisDirection zAxisDirection)
pure virtual

Attempts to get Z-axis direction property.

Parameters
[in,out]zAxisDirectionIf non-null and the method was successful, the Z-axis direction is stored here.
Returns
True if it succeeds, false if it fails.

◆ TryGetZDriveMode()

virtual bool libCZI::IDimensionZInfo::TryGetZDriveMode ( ZDriveMode zdrivemode)
pure virtual

Attempts to get Z-drive mode property.

Parameters
[in,out]zdrivemodeIf non-null and the method was successful, the Z-drive mode is stored here.
Returns
True if it succeeds, false if it fails.

◆ TryZDriveSpeed()

virtual bool libCZI::IDimensionZInfo::TryZDriveSpeed ( double *  zdrivespeed)
pure virtual

Attempts to get the z-drive speed (in units of µm/s).

Parameters
[in,out]zdrivespeedIf non-null and the method was successful, the z-drive speed is stored here.
Returns
True if it succeeds, false if it fails.

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