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

The display settings. More...

#include <libCZI_Metadata.h>

Classes

struct  CubicSplineCoefficients
 The coefficients of a cubic spline defined by \(a\,x^3 + b\,x^2 + c\,x + d =y\). More...
 
struct  SplineControlPoint
 The (normalized) control points of a spline. More...
 
struct  SplineData
 The definition of the (piecewise) spline. The spline starts at xPos which is the normalized position (between 0 and 1). More...
 

Public Types

enum class  GradationCurveMode : std::uint8_t { Linear , Gamma , Spline }
 Values that represent the gradation curve modes. More...
 
enum class  TintingMode : std::uint8_t { None = 0 , Color = 1 , LookUpTableExplicit = 2 , LookUpTableWellKnown = 3 }
 

Public Member Functions

virtual void EnumChannels (std::function< bool(int chIndex)> func) const =0
 
virtual std::shared_ptr< libCZI::IChannelDisplaySettingGetChannelDisplaySettings (int chIndex) const =0
 

Static Public Member Functions

static void Clone (const IDisplaySettings *disp, DisplaySettingsPOD &pod)
 

Detailed Description

The display settings.

Member Enumeration Documentation

◆ GradationCurveMode

Values that represent the gradation curve modes.

Enumerator
Linear 

The gradation curve is a straight line (from white point to black point).

Gamma 

The gradation curve is defined by a gamma.

Spline 

The gradation curve is defined by piecewise splines.

◆ TintingMode

enum libCZI::IDisplaySettings::TintingMode : std::uint8_t
strong

This enum specifies the "tinting-mode" - how the channel is false-colored.

Remarks
Plan is to add a property "GetTintingMode", currently we only implement "Color" and "None", so this information is conveniently contained in the method "TryGetTintingColorRgb8".
Enumerator
None 

None - which gives the "original color", i.e. in case of RGB the RGB-value is directly used, in case of grayscale we get a gray pixel.

Color 

The pixel value is multiplied with the tinting-color.

LookUpTableExplicit 

(NOT YET IMPLEMENTED) There is an explicit look-up-table specified.

LookUpTableWellKnown 

(NOT YET IMPLEMENTED) We are using a "well-known" look-up-table, and it is identified by its name (which is a string).

Member Function Documentation

◆ Clone()

static void libCZI::IDisplaySettings::Clone ( const IDisplaySettings disp,
DisplaySettingsPOD pod 
)
static

Makes a deep copy of the information in this object and store the information in the POD.

Parameters
dispThe display-settings object.
[in,out]podThe POD-display-settings object to store the information in.

◆ EnumChannels()

virtual void libCZI::IDisplaySettings::EnumChannels ( std::function< bool(int chIndex)>  func) const
pure virtual

Enum all channels (which are described by the display-settings object).

Parameters
funcThe functor to be called (passing in the channel index). If the functor returns false, the enumeration is stopped.

◆ GetChannelDisplaySettings()

virtual std::shared_ptr<libCZI::IChannelDisplaySetting> libCZI::IDisplaySettings::GetChannelDisplaySettings ( int  chIndex) const
pure virtual

Gets channel display settings for the specified channel. If the channel index is not valid, then an empty shared_ptr is returned.

Parameters
chIndexThe channel index.
Returns
The channel display settings object (if the channel index was valid), and empty shared_ptr otherwise.

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