00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _SO_ZSTACK_IMAGE_FILTER_H_
00025 #define _SO_ZSTACK_IMAGE_FILTER_H_
00026 #include <ImageViz/SoImageViz.h>
00027 #include <ImageViz/Engines/SoSubImageVizEngine.h>
00028 #include <ImageViz/Engines/SoImageVizEngineOutput.h>
00029 #include <ImageViz/Engines/SoImageVizEngine.h>
00030
00031 #include <Inventor/fields/SoSFBool.h>
00032 #include <Inventor/fields/SoSFEnum.h>
00033 #include <Inventor/fields/SoSFInt32.h>
00034 #include <ImageViz/Fields/SoSFImageDataAdapter.h>
00035
00036
00076 class SoImageStackProjectionProcessing3d : public SoImageVizEngine
00077 {
00078
00079 SO_IMAGEVIZ_ENGINE_HEADER(SoImageStackProjectionProcessing3d);
00080
00081 public:
00083 SoImageStackProjectionProcessing3d();
00084
00086 SoSFImageDataAdapter inImage;
00087
00091 enum ProjectionMode{
00095 INTENSITY_MAXIMA = 0,
00099 GRADIENT_MAXIMA = 1,
00103 PROJECTION = 2,
00107 INTENSITY_MINIMA = 3,
00111 MEDIAN = 4,
00115 MEAN = 5,
00119 VARIANCE = 6,
00126 ENTROPY = 7,
00131 ENERGY = 8
00132 };
00133
00137 SoSFEnum projectionMode;
00138
00139
00141 SoSFInt32 smoothingSize;
00142
00146 enum GradientOperator{
00150 GAUSSIAN_GRADIENT = 0,
00154 MORPHOLOGICAL_GRADIENT = 1,
00158 RECURSIVE_GRADIENT = 2
00159 };
00160
00164 SoSFEnum gradientOperator;
00165
00167 SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> outImage;
00168
00170 SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> outLabelImage;
00171
00172
00173 private:
00175 virtual ~SoImageStackProjectionProcessing3d();
00176
00177 };
00178
00179 #endif