Class IDisplaySettings#

Nested Relationships#

Nested Types#

Class Documentation#

class IDisplaySettings#

The display settings.

Public Types

enum class GradationCurveMode : std::uint8_t#

Values that represent the gradation curve modes.

Values:

enumerator Linear#

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

enumerator Gamma#

The gradation curve is defined by a gamma.

enumerator Spline#

The gradation curve is defined by piecewise splines.

enum class TintingMode : std::uint8_t#

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

Remark

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

Values:

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.

enumerator Color#

The pixel value is multiplied with the tinting-color.

enumerator LookUpTableExplicit#

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

enumerator LookUpTableWellKnown#

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

Public Functions

virtual void EnumChannels(const std::function<bool(int chIndex)> &func) const = 0#

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

Parameters:

func – The functor to be called (passing in the channel index). If the functor returns false, the enumeration is stopped.

virtual std::shared_ptr<libCZI::IChannelDisplaySetting> GetChannelDisplaySettings(int chIndex) const = 0#

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

Parameters:

chIndex – The channel index.

Returns:

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

virtual ~IDisplaySettings() = default#

Public Static Functions

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

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

Parameters:
  • disp – The display-settings object.

  • pod[inout] The POD-display-settings object to store the information in.

struct CubicSplineCoefficients#

The coefficients of a cubic spline defined by \(a\,x^3 + b\,x^2 + c\,x + d =y\).

Public Functions

inline double Get(int index) const#

Gets the coefficients by an index (where a is 0, b is 1, c is 2 and d is 3). If the index is out-of-range, the method returns NaN.

Parameters:

index – The index of the coefficient to get.

Returns:

The specified coefficient if the index is valid, NaN otherwise.

Public Members

double a#

The coefficient of the cube.

double b#

The coefficient of the square.

double c#

The coefficient of the linear term.

double d#

The constant.

struct SplineControlPoint#

The (normalized) control points of a spline.

Public Functions

inline SplineControlPoint(double x, double y)#

Initializes a new instance of the SplineControlPoint class.

Parameters:
  • x – The x coordinate.

  • y – The y coordinate.

inline bool operator==(const SplineControlPoint &rhs) const#

Equality operator

Parameters:

rhs – The right hand side.

Returns:

True if the parameters are considered equivalent.

inline bool operator!=(const SplineControlPoint &rhs) const#

Inequality operator

Parameters:

rhs – The right hand side.

Returns:

True if the parameters are not considered equivalent.

Public Members

double x#

The normalized x-coordinate of a spline control point.

double y#

The normalized y-coordinate of a spline control point.

struct SplineData#

The definition of the (piecewise) spline. The spline starts at xPos which is the normalized position (between 0 and 1).

Public Members

double xPos#

The (normalized) position for which this spline definition is valid.

CubicSplineCoefficients coefficients#

The spline coefficients for this piece.