Matrix::GetZRange

Contents

Description

Get the dynamic range (Z1, Z2) that is used in the data to image conversion.

Syntax

BOOL GetZRange( double & z1, double & z2 )

Parameters

z1
[output] Lower bound of the matrix data to be mapped in converting to an image, all data below z1 are treated as z1
z2
[output] Upper bound of the matrix data to be mapped in converting to an image, all data above z2 are treated as z2

Return

Returns FALSE if z range is not available and returns TRUE if Z range is available.

Examples

EX1

// Demonstrate the effect of Dynamic Z Range in an image
void Matrix_GetZRange_ex1()
{
    double zRange1, zRange2;
    int ii,jj;
    
    matrix mat1;
    int wNumRows = 100, wNumCols =100;
    vector vTemp;
    vTemp.Data(1, wNumCols);   // // Generate (1,2,...,wNumCols) in this temp vector
    mat1.SetSize( wNumRows, wNumCols );  // Set the number of rows and columns in matrix
    for(ii=0; ii<wNumRows; ii++)
        mat1.SetRow(vTemp, ii);            
    
    MatrixPage MatPg1;
    MatPg1.Create("Origin");
    MatrixLayer MatLy1 = MatPg1.Layers(0);
    MatLy1.SetViewImage();  // Set the view of the matrix to the Image Mode
    Matrix Mat1(MatLy1);
    Mat1 = mat1;
    
    MatrixPage MatPg2;
    MatPg2.Create("Origin");
    MatrixLayer MatLy2 = MatPg2.Layers(0);
    MatLy2.SetViewImage();  // Set the view of the matrix to the Image Mode
    Matrix Mat2(MatLy2);            
    Mat2 = mat1;

    Mat1.SetZRange(0, 100);
    Mat2.SetZRange(0, 100);
    
    // We will widen the dynamic range from the original
    if( Mat1.GetZRange(zRange1, zRange2) )
    {
        printf("  Original Z range in %s: %g -- %g\n",Mat1.GetName(),zRange1,zRange2);
        Mat2.SetZRange(-50, 200);
        Mat2.GetZRange(zRange1, zRange2);
        printf("  Updated Z range in %s: %g -- %g\n",Mat2.GetName(),zRange1,zRange2);
        printf("  Observe the narrower dynamic range of image in %s than original.\n",Mat2.GetName());
    }
}

Remark

Get the dynamic range (Z1, Z2) that is used in data to image conversion.

See Also

Matrix::SetZRangeUpdate, Matrix::SetZRange

header to Include

origin.h