Class IChannelDisplaySetting#
Defined in File libCZI_Metadata.h
Class Documentation#
-
class IChannelDisplaySetting#
The display-settings for a channel.
Public Functions
-
virtual bool GetIsEnabled() const = 0#
Gets a boolean indicating whether the corresponding channel is ‘active’ in the multi-channel-composition.
- Returns:
True if the corresponding channel is ‘active’, false otherwise.
-
virtual float GetWeight() const = 0#
Gets the weight of the channel (for multi-channel-composition).
- Returns:
The weight.
-
virtual bool TryGetTintingColorRgb8(libCZI::Rgb8Color *pColor) const = 0#
Attempts to get the RGB24-tinting color for the corresponding channel. If tinting is not enabled, then this method will return false.
- Parameters:
pColor – [out] If tinting is enabled for the corresponding channel, then (if non-null) will receive the tinting-color.
- Returns:
True if tinting is enabled for the corresponding channel (and in this case
pColor
will be set), false otherwise (andpColor
will not be set).
-
virtual void GetBlackWhitePoint(float *pBlack, float *pWhite) const = 0#
Gets the black point and the white point.
- Parameters:
pBlack – [out] If non-null, the black point will be returned.
pWhite – [out] If non-null, the white point will be returned.
-
virtual IDisplaySettings::GradationCurveMode GetGradationCurveMode() const = 0#
Gets gradation curve mode.
- Returns:
The gradation curve mode.
-
virtual bool TryGetGamma(float *gamma) const = 0#
Attempts to get the gamma - this will only be available if gradation curve mode is
Gamma
.- Parameters:
gamma – [out] If non-null and applicable, the gamma will be returned.
- Returns:
True if the corresponding channel uses gradation curve mode
Gamma
(and a value for gamma is available), false otherwise.
-
virtual bool TryGetSplineControlPoints(std::vector<libCZI::IDisplaySettings::SplineControlPoint> *ctrlPts) const = 0#
Attempts to get spline control points - this will only be available if gradation curve mode is
Spline
.Remark
We make no promises that both the control-points and the spline-data are always available. It might be plausible that the spline is defined in a different way (different than control-points), so in that case only the “spline-data” would be available. So - be careful is using this interface in a context different thant “CZI-metadata” where it might be the case the ‘TryGetSplineControlPoints’ will fail but ‘TryGetSplineData’ might succeed. Maybe better should remove ‘TryGetSplineData’ from this interface.
- Parameters:
ctrlPts – [inout] If non-null, the control points will be written to this vector.
- Returns:
True if it succeeds, false if it fails.
-
virtual bool TryGetSplineData(std::vector<libCZI::IDisplaySettings::SplineData> *data) const = 0#
Attempts to get the spline data - this will only be available if gradation curve mode is
Spline
.- Parameters:
data – [inout] If non-null, the spline data will be written to this vector.
- Returns:
True if the corresponding channels uses gradation curve mode
Spline
, false otherwise.
-
virtual ~IChannelDisplaySetting() = default#
Public Static Functions
-
static void Clone(const IChannelDisplaySetting *disp, ChannelDisplaySettingsPOD &pod)#
Makes a deep copy of the information in this object and store the information in the POD.
- Parameters:
disp – The channel-display-settings object.
pod – [inout] The POD-channel-display-settings object to store the information in.
-
virtual bool GetIsEnabled() const = 0#