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

Information about the channel ratio. More...

#include <libCZI_Metadata2.h>

Public Types

enum class  Type : std::uint8_t {
  NoOnlineCalculation , OnlineRatio , OnlineSubtraction , OnlineSubtractionRatio ,
  OnlineHillFunction , OnlineReferenceRatio , OnlineLinearUnmixing
}
 

Public Member Functions

virtual bool TryGetType (Type *type)=0
 
virtual bool TryGetConst1 (double *c1)=0
 
virtual bool TryGetConst2 (double *c2)=0
 
virtual bool TryGetConst3 (double *c3)=0
 
virtual bool TryGetConst4 (double *c4)=0
 
virtual bool TryGetConst5 (double *c5)=0
 
virtual bool TryGetConst6 (double *c6)=0
 
virtual bool TryGetSource1 (std::vector< std::wstring > *source1)=0
 
virtual bool TryGetSource2 (std::vector< std::wstring > *source2)=0
 

Detailed Description

Information about the channel ratio.

Member Enumeration Documentation

◆ Type

enum libCZI::IDimensionChannelRatio::Type : std::uint8_t
strong

The type of an online calculation where the channel is the destination.

The following values are possible :

NoOnlineCalculation - The data channel receives raw scan data.
    OnlineRatio - (S1 + C1) / (S2 + C2) * C3 + C4
    OnlineSubtraction - (S1 * C1 - S2 * C3) / C2 + C4
    OnlineSubtractionRatio - (S1 - S2 * C1) / (S1 + S2 * C2) * C3 + C4
    OnlineHillFunction - C3 * (C4 / C5) * (S1 - C1) / (C2 - S2)
    OnlineReferenceRatio - (S1 - S2 + C1) / (S2 - C2) * C3 + C4
    OnlineLinearUnmixing - The Linear Unmixing processing.

    The operands and constants are :

    S1 - Source1
    S2 - Source2
    C1 - RatioConstant1
    C2 - RatioConstant2
    C3 - RatioConstant3
    C4 - RatioConstant4
    C5 - RatioConstant5 
Enumerator
NoOnlineCalculation 

An enum constant representing the "no online 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".

OnlineHillFunction 

An enum constant representing the "online Hill function calculation option".

OnlineReferenceRatio 

An enum constant representing the "online reference ratio calculation option".

OnlineLinearUnmixing 

An enum constant representing the "online un-mixing calculation option".

Member Function Documentation

◆ TryGetConst1()

virtual bool libCZI::IDimensionChannelRatio::TryGetConst1 ( double *  c1)
pure virtual

Try to get the constant #1.

Parameters
[in,out]c1If non-null and successful, the constant #1 is placed here.
Returns
True if it succeeds, false if it fails.

◆ TryGetConst2()

virtual bool libCZI::IDimensionChannelRatio::TryGetConst2 ( double *  c2)
pure virtual

Try to get the constant #2.

Parameters
[in,out]c2If non-null and successful, the constant #2 is placed here.
Returns
True if it succeeds, false if it fails.

◆ TryGetConst3()

virtual bool libCZI::IDimensionChannelRatio::TryGetConst3 ( double *  c3)
pure virtual

Try to get the constant #3.

Parameters
[in,out]c3If non-null and successful, the constant #3 is placed here.
Returns
True if it succeeds, false if it fails.

◆ TryGetConst4()

virtual bool libCZI::IDimensionChannelRatio::TryGetConst4 ( double *  c4)
pure virtual

Try to get the constant #4.

Parameters
[in,out]c4If non-null and successful, the constant #4 is placed here.
Returns
True if it succeeds, false if it fails.

◆ TryGetConst5()

virtual bool libCZI::IDimensionChannelRatio::TryGetConst5 ( double *  c5)
pure virtual

Try to get the constant #5.

Parameters
[in,out]c5If non-null and successful, the constant #5 is placed here.
Returns
True if it succeeds, false if it fails.

◆ TryGetConst6()

virtual bool libCZI::IDimensionChannelRatio::TryGetConst6 ( double *  c6)
pure virtual

Try to get the constant #6.

Parameters
[in,out]c6If non-null and successful, the constant #6 is placed here.
Returns
True if it succeeds, false if it fails.

◆ TryGetSource1()

virtual bool libCZI::IDimensionChannelRatio::TryGetSource1 ( std::vector< std::wstring > *  source1)
pure virtual

Specifies the source operands S1 for an online calculation. The vector contains references to channels (ChannelRefs).

Parameters
[in,out]source1If non-null and the property is available, it will be put here.
Returns
True if it succeeds, false otherwise.

◆ TryGetSource2()

virtual bool libCZI::IDimensionChannelRatio::TryGetSource2 ( std::vector< std::wstring > *  source2)
pure virtual

Specifies the source operands S2 for an online calculation. The vector contains references to channels (ChannelRefs).

Parameters
[in,out]source2If non-null and the property is available, it will be put here.
Returns
True if it succeeds, false otherwise.

◆ TryGetType()

virtual bool libCZI::IDimensionChannelRatio::TryGetType ( Type type)
pure virtual

Try to get the type.

Parameters
[in,out]typeIf non-null and successful, the type is placed here.
Returns
True if it succeeds, false if it fails.

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