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_SUPERVISEDTEXTURECLASSIFICATION3D_IMAGE_FILTER_H_
00025 #define _SO_SUPERVISEDTEXTURECLASSIFICATION3D_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/SoSFEnum.h>
00032 #include <Inventor/fields/SoSFBitMask.h>
00033 #include <Inventor/fields/SoSFDouble.h>
00034 #include <Inventor/fields/SoSFUInt32.h>
00035 #include <Inventor/fields/SoSFVec2i32.h>
00036 #include <ImageViz/Fields/SoSFImageDataAdapter.h>
00037
00038
00074 class SoSupervisedTextureClassificationProcessing3d : public SoImageVizEngine
00075 {
00076
00077 SO_IMAGEVIZ_ENGINE_HEADER(SoSupervisedTextureClassificationProcessing3d);
00078
00079 public:
00081 SoSupervisedTextureClassificationProcessing3d();
00082
00084 SoSFImageDataAdapter inImage;
00085
00087 SoSFImageDataAdapter inTrainingImage;
00088
00092 enum FeatureGroup{
00096 DIRECTIONAL_COOCCURRENCE = 1,
00100 ROTATION_INVARIANT_COOCCURRENCE = 2,
00104 FIRST_ORDER_STATISTICS = 4,
00108 HISTOGRAM_STATISTICS = 8,
00112 INTENSITY = 16
00113 };
00114
00118 SoSFBitMask featureGroup;
00119
00121 SoSFVec2i32 radiusRange;
00122
00124 SoSFUInt32 radiusStep;
00125
00127 SoSFUInt32 coocRadius;
00128
00132 enum CoocTextonShape{
00136 CUBE = 0,
00140 SPHERE = 1,
00144 BALL = 2
00145 };
00146
00154 SoSFEnum coocTextonShape;
00155
00159 SoSFUInt32 coocTextonSize;
00160
00166 SoSFDouble minSeparationPercentage;
00167
00169 SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> outLabelImage;
00170
00174 enum OutMapType{
00179 CLOSEST_DISTANCE = 0,
00185 RELATIVE_DISTANCE = 1,
00189 CLASS_DISTANCE = 2,
00193 NONE = 3
00194 };
00195
00199 SoSFEnum outMapType;
00200
00202 SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> outMapImage;
00203
00204
00205 private:
00207 virtual ~SoSupervisedTextureClassificationProcessing3d();
00208
00209 };
00210
00211 #endif