SoMorphoLut3D Class Reference
[Luts]

ImageViz class that represents a morphological look-up table (LUT). More...

#include <ImageViz/Nodes/Luts/SoMorphoLut3D.h>

Inheritance diagram for SoMorphoLut3D:
SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Types

enum  InsertMode {
  INSERT_NEW,
  INSERT_OR
}

Public Member Functions

virtual SoType getTypeId () const
 SoMorphoLut3D ()
void insertKernel (SbKernel3i32 kernel3d, InsertMode insertMode, unsigned int kernelRotationX, unsigned int kernelRotationY, unsigned int kernelRotationZ)
size_t getNumKernels ()
SbKernel3i32 getKernel (int indexKernel) const

Static Public Member Functions

static SoType getClassTypeId ()

Detailed Description

ImageViz class that represents a morphological look-up table (LUT).

Class that represents a 3D morphological look-up table (LUT).

[C++] This is a reference counted object, similar to a node. It can only be destroyed by incrementing and decrementing the reference count. The initial reference count is 0. You may use the ref() and unref() methods or the SoRef "smart pointer" template.

SEE ALSO

SoFieldContainer, SbKernel3i32


Member Enumeration Documentation

Enumerator:
INSERT_NEW 

Reset the LUT (clear all kernels) before insertion.

Should be used for the first insertion.

INSERT_OR 

Append to the list of kernels.


Constructor & Destructor Documentation

SoMorphoLut3D::SoMorphoLut3D (  ) 

Default constructor.


Member Function Documentation

static SoType SoMorphoLut3D::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoFieldContainer.

SbKernel3i32 SoMorphoLut3D::getKernel ( int  indexKernel  )  const

Returns the specified kernel.

Parameters:
indexKernel index of the kernel (cannot exceed registered number of kernels).
size_t SoMorphoLut3D::getNumKernels (  ) 

Returns the number of kernels registered in the LUT.

virtual SoType SoMorphoLut3D::getTypeId (  )  const [virtual]

Returns the type identifier for this specific instance.

Implements SoTypedObject.

void SoMorphoLut3D::insertKernel ( SbKernel3i32  kernel3d,
InsertMode  insertMode,
unsigned int  kernelRotationX,
unsigned int  kernelRotationY,
unsigned int  kernelRotationZ 
)

Inserts a kernel into the LUT.

Parameters:
[in] kernel3d The kernel to add. A 3D-kernel should contain exactly 27 values.

\[ \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|} \cline{1-3} \cline{5-7} \cline{9-11} 0 & 1 & 2 & & 9 & 10 & 11 & & 18 & 19 & 20 \\ \cline{1-3} \cline{5-7} \cline{9-11} 3 & 4 & 5 & & 12 & 13 & 14 & & 21 & 22 & 23 \\ \cline{1-3} \cline{5-7} \cline{9-11} 6 & 7 & 8 & & 15 & 16 & 17 & & 24 & 25 & 26 \\ \cline{1-3} \cline{5-7} \cline{9-11} \multicolumn{3}{|c|}{Z=0} & & \multicolumn{3}{c|}{Z=1} & & \multicolumn{3}{c|}{Z=2} \\ \cline{1-3} \cline{5-7} \cline{9-11} \end{tabular} \]

Accepted values for the kernel are:

  • 0: pixel is off
  • 1: pixel is on
  • 2: pixel is ignored
[in] insertMode The insertion mode of the kernel. See SoMorphoLut::InsertMode.
[in] kernelRotationX Rotation applied to the kernel on X-axis before insertion.
[in] kernelRotationY Rotation applied to the kernel on Y-axis before insertion.
[in] kernelRotationZ Rotation applied to the kernel on Z-axis before insertion.

Value should be between 0 (no rotation) and 7. Rotation is counter-clockwise on axis direction. Rotation are applied in the following order: rotation on X-axis, rotation on Y-axis and rotation on Z-axis.

An SbException is is thrown if the size of the kernel is not 3x3x3.


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

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/