TextureClassificationCreate
            Creates a new object model for performing a texture classification.
Access to parameter description
For an introduction:
        
See also
		Access to parameter description
For an introduction:
- section Image Segmentation
 - section Supervised Texture Classification
 
- A computation mode: 2D or 3D
 - A list of texture groups
 - A number of classes to discriminate
 - A set of radii of analysis
 
See also
Function Syntax
This function returns the outputModel output parameter.
                        
                    
// Function prototype.
TextureClassificationModel::Ptr
textureClassificationCreate( TextureClassificationCreate::ComputeMode computeMode,
                             uint32_t numberOfClasses,
                             int32_t featureGroup,
                             iolink::Vector2u32 radiusRange,
                             uint32_t radiusStep,
                             uint32_t coocRadius,
                             TextureClassificationCreate::CoocTextonShape coocTextonShape,
                             uint32_t coocTextonSize,
                             TextureClassificationModel::Ptr outputModel = NULL );
                    
This function returns the outputModel output parameter.
                        
                    
// Function prototype.
texture_classification_create( compute_mode = TextureClassificationCreate.ComputeMode.MODE_2D,
                               number_of_classes = 2,
                               feature_group = 31,
                               radius_range = [2, 14],
                               radius_step = 4,
                               cooc_radius = 10,
                               cooc_texton_shape = TextureClassificationCreate.CoocTextonShape.SPHERE,
                               cooc_texton_size = 4,
                               output_model = None )
                    
This function returns the outputModel output parameter.
                        
                
// Function prototype.
public static TextureClassificationModel
TextureClassificationCreate( TextureClassificationCreate.ComputeMode computeMode = ImageDev.TextureClassificationCreate.ComputeMode.MODE_2D,
                             UInt32 numberOfClasses = 2,
                             Int32 featureGroup = 31,
                             uint[] radiusRange = null,
                             UInt32 radiusStep = 4,
                             UInt32 coocRadius = 10,
                             TextureClassificationCreate.CoocTextonShape coocTextonShape = ImageDev.TextureClassificationCreate.CoocTextonShape.SPHERE,
                             UInt32 coocTextonSize = 4,
                             TextureClassificationModel outputModel = null );
                    Class Syntax
Parameters
| Class Name | TextureClassificationCreate | 
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]()  | 
  computeMode    | 
 The computation mode: 2D or 3D.
  | 
Enumeration | MODE_2D | |||||||||||
![]()  | 
  numberOfClasses    | 
 The number of classes to discriminate. | UInt32 | >=2 | 2 | ||||||||||
![]()  | 
  featureGroup    | 
 The groups of textural features to compute. This list defines all the textural attributes proposed for performing the classification.
  | 
MultipleChoice | DIRECTIONAL_COOCCURRENCE | ROTATION_INVARIANT_COOCCURRENCE | FIRST_ORDER_STATISTICS | HISTOGRAM_STATISTICS | INTENSITY | |||||||||||
![]()  | 
  radiusRange    | 
 The minimum and maximum radius, in pixels, of the circular neighborhoods used for computing textural features. | Vector2u32 | >=1 | {2, 14} | ||||||||||
![]()  | 
  radiusStep    | 
 The step, in pixels, used to define the set of radii between minimum and maximum. The maximum radius is systematically added to the radius list. | UInt32 | >=1 | 4 | ||||||||||
![]()  | 
  coocRadius    | 
 The radius, in pixels, of the circular neighborhood used by the co-occurrence features. This parameter is ignored if none of the co-occurrence feature groups is selected. | UInt32 | >=1 | 10 | ||||||||||
![]()  | 
  coocTextonShape    | 
 The shape of the co-occurrence texton (the pattern defined by the set of co-occurrence vectors). This parameter is ignored if none of the co-occurrence feature groups is selected.
 The texton shape represents the distribution of points around the target point for computing the co-occurrence matrices. Associated to the texton size, it defines the set of vectors that are used for computing co-occurrence features. For instance, in 2D, a cube shape of size 3 defines the co-occurrence vectors (-3, -3), (0, -3), (3, -3), (-3, 0), (3, 0), (-3, 3), (0, 3) and (3, 3). 
  | 
Enumeration | SPHERE | |||||||||||
![]()  | 
  coocTextonSize    | 
 The size, in pixels, of the texton shape for co-occurrence features. This parameter is ignored if none of the co-occurrence feature groups is selected.
 This size is constrained by the radius parameter. The constraint depends on the texton shape. For instance, with a square texton, the texton size cannot exceed the rounded value of $radius \times \sqrt{2}$.  | 
UInt32 | >=1 | 4 | ||||||||||
![]()  | 
  outputModel    | 
 The output texture classification model, newly created. | TextureClassificationModel | nullptr | |||||||||||
Object Examples
TextureClassificationCreate textureClassificationCreateAlgo;
textureClassificationCreateAlgo.setComputeMode( TextureClassificationCreate::ComputeMode::MODE_2D );
textureClassificationCreateAlgo.setNumberOfClasses( 2 );
textureClassificationCreateAlgo.setFeatureGroup( 4 );
textureClassificationCreateAlgo.setRadiusRange( {15, 15} );
textureClassificationCreateAlgo.setRadiusStep( 1 );
textureClassificationCreateAlgo.setCoocRadius( 15 );
textureClassificationCreateAlgo.setCoocTextonShape( TextureClassificationCreate::CoocTextonShape::SPHERE );
textureClassificationCreateAlgo.setCoocTextonSize( 5 );
textureClassificationCreateAlgo.execute();
std::cout << "computeMode: " << textureClassificationCreateAlgo.outputModel()->computeMode( ) ;
            
texture_classification_create_algo = imagedev.TextureClassificationCreate()
texture_classification_create_algo.compute_mode = imagedev.TextureClassificationCreate.MODE_2D
texture_classification_create_algo.number_of_classes = 2
texture_classification_create_algo.feature_group = 4
texture_classification_create_algo.radius_range = [15, 15]
texture_classification_create_algo.radius_step = 1
texture_classification_create_algo.cooc_radius = 15
texture_classification_create_algo.cooc_texton_shape = imagedev.TextureClassificationCreate.SPHERE
texture_classification_create_algo.cooc_texton_size = 5
texture_classification_create_algo.execute()
print( 
print("computeMode: ", texture_classification_create_algo.output_model.compute_mode( ) ) );
            
TextureClassificationCreate textureClassificationCreateAlgo = new TextureClassificationCreate
{
    computeMode = TextureClassificationCreate.ComputeMode.MODE_2D,
    numberOfClasses = 2,
    featureGroup = 4,
    radiusRange = new uint[]{15, 15},
    radiusStep = 1,
    coocRadius = 15,
    coocTextonShape = TextureClassificationCreate.CoocTextonShape.SPHERE,
    coocTextonSize = 5
};
textureClassificationCreateAlgo.Execute();
Console.WriteLine( "computeMode: " + textureClassificationCreateAlgo.outputModel.computeMode( ) );
            Function Examples
auto result = textureClassificationCreate( TextureClassificationCreate::ComputeMode::MODE_2D, 2, 4, {15, 15}, 1, 15, TextureClassificationCreate::CoocTextonShape::SPHERE, 5 );
std::cout << "computeMode: " << result->computeMode( ) ;
            result = imagedev.texture_classification_create( imagedev.TextureClassificationCreate.MODE_2D, 2, 4, [15, 15], 1, 15, imagedev.TextureClassificationCreate.SPHERE, 5 ) print( "computeMode: ", result.compute_mode( ) );
TextureClassificationModel result = Processing.TextureClassificationCreate( TextureClassificationCreate.ComputeMode.MODE_2D, 2, 4, new uint[]{15, 15}, 1, 15, TextureClassificationCreate.CoocTextonShape.SPHERE, 5 );
Console.WriteLine(  "computeMode: " + result.computeMode( )  );
            
