00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SO_DATA_MEASURE_PREDEFINED_H_
00024 #define _SO_DATA_MEASURE_PREDEFINED_H_
00025
00026 #include <ImageViz/SoImageViz.h>
00027 #include <ImageViz/Nodes/Measures/SoDataMeasure.h>
00028
00029 #include <Inventor/fields/SoSFEnum.h>
00030
00045 class SoDataMeasurePredefined : public SoDataMeasure
00046 {
00047 SO_FIELDCONTAINER_HEADER(SoDataMeasurePredefined);
00048 public:
00050 enum PredefinedMeasure
00051 {
00053 UNDEFINED = 0,
00054
00061 ANISOTROPY,
00065 AREA_2D,
00069 AREA_3D,
00076 VOLUME_FRACTION,
00080 BARYCENTERX,
00084 BARYCENTERY,
00088 BARYCENTERZ,
00092 MOMENT2X,
00096 MOMENT2Y,
00100 MOMENT2Z,
00104 MOMENTXY,
00108 MOMENTXZ,
00112 MOMENTYZ,
00118 BORDER_VOXEL_COUNT,
00122 BOUNDING_BOX_DX,
00126 BOUNDING_BOX_DY,
00130 BOUNDING_BOX_DZ,
00134 BOUNDING_BOX_OX,
00138 BOUNDING_BOX_OY,
00142 BOUNDING_BOX_OZ,
00151 SMOOTH_CIRCLE_DIFFERENCE_2D,
00156 CONVEX_AREA_2D,
00161 CONVEX_PERIMETER_2D,
00168 CROFTON_PERIMETER_2D,
00174 NEIGHBOR_DISTANCE_2D,
00178 EIGEN_VALUE1,
00182 EIGEN_VALUE2,
00187 EIGEN_VALUE3_3D,
00191 EIGEN_VECTOR1X,
00195 EIGEN_VECTOR1Y,
00200 EIGEN_VECTOR1Z_3D,
00205 EIGEN_VECTOR2X,
00210 EIGEN_VECTOR2Y,
00216 EIGEN_VECTOR2Z_3D,
00221 EIGEN_VECTOR3X_3D,
00226 EIGEN_VECTOR3Y_3D,
00231 EIGEN_VECTOR3Z_3D,
00242 ENCLOSING_ELLIPSE_DIFFERENCE_2D,
00249 ELONGATION,
00255 ENCLOSING_CIRCLE_DIFFERENCE_2D,
00262 EQUIVALENT_DIAMETER,
00266 EULER_2D,
00270 EULER_3D,
00285 ECCENTRICITY_2D,
00290 EXTENT_MAX1,
00295 EXTENT_MAX2,
00301 EXTENT_MAX3_3D,
00306 EXTENT_MIN1,
00311 EXTENT_MIN2,
00317 EXTENT_MIN3_3D,
00322 FERET_DIAMETER_2D,
00326 FERET_INPUTX_2D,
00330 FERET_INPUTY_2D,
00334 FERET_OUTPUTX_2D,
00338 FERET_OUTPUTY_2D,
00342 FERET_DIAMETER_RATIO_2D ,
00350 FERET_DIAMETER_RATIO_3D,
00355 FIRST_POINTX,
00360 FIRST_POINTY,
00365 FIRST_POINTZ,
00373 FLATNESS_3D,
00377 GRAY_BARYCENTERX,
00381 GRAY_BARYCENTERY,
00385 GRAY_BARYCENTERZ,
00389 HISTOGRAM_KURTOSIS,
00393 HISTOGRAM_MEAN,
00397 HISTOGRAM_PEAK,
00401 HISTOGRAM_QUANTILE10,
00405 HISTOGRAM_QUANTILE25,
00409 HISTOGRAM_QUANTILE50,
00413 HISTOGRAM_QUANTILE75,
00417 HISTOGRAM_QUANTILE90,
00423 HISTOGRAM_QUANTILER1,
00429 HISTOGRAM_QUANTILER2,
00435 HISTOGRAM_QUANTILER3,
00441 HISTOGRAM_QUANTILER4,
00447 HISTOGRAM_QUANTILER5,
00453 HISTOGRAM_QUANTILER6,
00457 HISTOGRAM_SKEWNESS,
00461 HISTOGRAM_STDDEV,
00465 HISTOGRAM_VARIANCE,
00470 INSIDE_LENGTH_2D,
00474 LENGTH_2D,
00478 LENGTH_3D,
00483 LENGTH_ORIENTATION_PHI_3D,
00488 LENGTH_ORIENTATION_THETA_3D,
00492 LENGTH_ORIENTATION_2D,
00498 INTENSITY_MAJORITY,
00502 INTENSITY_MAXIMUM,
00506 INTENSITY_MEAN,
00510 INTENSITY_MEDIAN,
00514 INTENSITY_MINIMUM,
00518 HOLES_COUNT_2D,
00523 ORIENTATION_2D,
00528 ORIENTATION2_PHI_3D,
00533 ORIENTATION2_THETA_3D,
00538 ORIENTATION1_PHI_3D,
00543 ORIENTATION1_THETA_3D,
00554 BOUNDARY_VOXEL_COUNT,
00572 RUGOSITY_2D,
00577 POLYGONE_AREA_2D,
00583 RECTANGLE_CENTERX_2D,
00589 RECTANGLE_CENTERY_2D,
00595 RECTANGLE_LENGTH_2D,
00601 RECTANGLE_ORIENTATION_2D,
00607 RECTANGLE_WIDTH_2D,
00611 SEGMENT_HOLES_COUNT_2D,
00616 POLYGONE_PERIMETER_2D,
00621 SHAPE_FACTOR_AP_2D,
00625 SHAPE_FACTOR_VA_3D,
00629 INTENSITY_STANDARD_DEVIATION,
00645 SYMMETRY_2D,
00649 INTENSITY_INTEGRAL,
00653 SQUARE_INTENSITY_INTEGRAL,
00657 VOLUME_3D,
00661 VOXEL_FACE_AREA_3D,
00665 WIDTH_2D,
00669 WIDTH_3D,
00673 WIDTH_ORIENTATION_PHI_3D,
00677 WIDTH_ORIENTATION_THETA_3D,
00681 WIDTH_ORIENTATION_2D,
00689 BREADTH_3D,
00693 BREADTH_ORIENTATION_PHI_3D,
00697 BREADTH_ORIENTATION_THETA_3D,
00703 THICKNESS_3D,
00707 THICKNESS_ORIENTATION_PHI_3D,
00711 THICKNESS_ORIENTATION_THETA_3D,
00716 GRAY_ANISOTROPY,
00721 GRAY_EIGEN_VALUE1,
00726 GRAY_EIGEN_VALUE2,
00731 GRAY_EIGEN_VALUE3_3D,
00736 GRAY_EIGEN_VECTOR1X,
00741 GRAY_EIGEN_VECTOR1Y,
00746 GRAY_EIGEN_VECTOR1Z_3D,
00751 GRAY_EIGEN_VECTOR2X,
00756 GRAY_EIGEN_VECTOR2Y,
00761 GRAY_EIGEN_VECTOR2Z_3D,
00766 GRAY_EIGEN_VECTOR3X_3D,
00771 GRAY_EIGEN_VECTOR3Y_3D,
00776 GRAY_EIGEN_VECTOR3Z_3D,
00781 GRAY_ELONGATION,
00786 GRAY_EXTENT_MAX1,
00791 GRAY_EXTENT_MAX2,
00796 GRAY_EXTENT_MAX3_3D,
00801 GRAY_EXTENT_MIN1,
00806 GRAY_EXTENT_MIN2,
00811 GRAY_EXTENT_MIN3_3D,
00816 GRAY_FLATNESS_3D,
00821 GRAY_MOMENT2X,
00826 GRAY_MOMENT2Y,
00831 GRAY_MOMENT2Z,
00836 GRAY_MOMENTXY,
00841 GRAY_MOMENTXZ,
00846 GRAY_MOMENTYZ,
00850 INTENSITY_COUNT,
00854 NEIGHBOR_COUNT,
00858 LENGTH_INPUT_X_3D,
00862 LENGTH_INPUT_Y_3D,
00866 LENGTH_INPUT_Z_3D,
00870 LENGTH_OUTPUT_X_3D,
00874 LENGTH_OUTPUT_Y_3D,
00878 LENGTH_OUTPUT_Z_3D,
00882 WIDTH_INPUT_X_3D,
00886 WIDTH_INPUT_Y_3D,
00890 WIDTH_INPUT_Z_3D,
00894 WIDTH_OUTPUT_X_3D,
00898 WIDTH_OUTPUT_Y_3D,
00902 WIDTH_OUTPUT_Z_3D,
00906 BREADTH_INPUT_X_3D,
00910 BREADTH_INPUT_Y_3D,
00914 BREADTH_INPUT_Z_3D,
00918 BREADTH_OUTPUT_X_3D,
00922 BREADTH_OUTPUT_Y_3D,
00926 BREADTH_OUTPUT_Z_3D,
00930 THICKNESS_INPUT_X_3D,
00934 THICKNESS_INPUT_Y_3D,
00938 THICKNESS_INPUT_Z_3D,
00942 THICKNESS_OUTPUT_X_3D,
00946 THICKNESS_OUTPUT_Y_3D,
00950 THICKNESS_OUTPUT_Z_3D,
00954 VOXEL_COUNT,
00959 INSIDE_CENTER_X_2D,
00964 INSIDE_CENTER_Y_2D
00965
00966 };
00967
00969 SoDataMeasurePredefined();
00970
00977 SoDataMeasurePredefined(PredefinedMeasure measure);
00978
00983 SoSFEnum predefinedMeasure;
00984
00986 virtual const SbString& getMeasureName() const;
00987
00989 virtual UnitDimension getUnitDimension() const;
00990
00992 virtual ResultFormat getFormat() const;
00993
00995 static const SbString& getName(PredefinedMeasure measureEnum);
00996
00997 private:
00999 virtual ~SoDataMeasurePredefined();
01000 private:
01001
01002 void commonInit();
01003 };
01004
01005 #endif
01006