| 
    GRASS 8 Programmer's Manual
    8.5.0dev(2025)-9d806b45d8
    
   | 
 

Go to the source code of this file.
Functions | |
| int | I_cluster_assign (struct Cluster *, int *) | 
| Assign cluster.  More... | |
| int | I_cluster_begin (struct Cluster *, int) | 
| Initialize the cluster routines for nbands.  More... | |
| int | I_cluster_clear (struct Cluster *) | 
| Clear Cluster structure.  More... | |
| int | I_cluster_distinct (struct Cluster *, double) | 
| Get distinct value.  More... | |
| int | I_cluster_exec (struct Cluster *, int, int, double, double, int, int(*)(struct Cluster *, int), int *) | 
| int | I_cluster_exec_allocate (struct Cluster *) | 
| Allocate Cluster structure.  More... | |
| int | I_cluster_exec_free (struct Cluster *) | 
| Free allocated Cluster structure.  More... | |
| int | I_cluster_means (struct Cluster *) | 
| Calculate means value.  More... | |
| int | I_cluster_merge (struct Cluster *) | 
| ?  More... | |
| int | I_cluster_nclasses (struct Cluster *, int) | 
| Get number of classes.  More... | |
| int | I_cluster_point (struct Cluster *, DCELL *) | 
| Adds the point x to the list of data points to be "clustered".  More... | |
| int | I_cluster_begin_point_set (struct Cluster *, int) | 
| Begin point set.  More... | |
| int | I_cluster_point_part (struct Cluster *, DCELL, int, int) | 
| ?  More... | |
| int | I_cluster_end_point_set (struct Cluster *, int) | 
| ?  More... | |
| int | I_cluster_reassign (struct Cluster *, int *) | 
| ?  More... | |
| int | I_cluster_reclass (struct Cluster *, int) | 
| Reclass data.  More... | |
| double | I_cluster_separation (struct Cluster *, int, int) | 
| ?  More... | |
| int | I_cluster_signatures (struct Cluster *) | 
| Create signatures.  More... | |
| int | I_cluster_sum2 (struct Cluster *) | 
| Compute sum of squares for each class.  More... | |
| int I_cluster_assign | ( | struct Cluster * | C, | 
| int * | interrupted | ||
| ) | 
Assign cluster.
| C | pointer to Cluster structure | 
| interrupted | ? | 
Definition at line 26 of file c_assign.c.
Referenced by I_cluster_exec().
| int I_cluster_begin | ( | struct Cluster * | C, | 
| int | nbands | ||
| ) | 
Initialize the cluster routines for nbands.
| C | pointer to Cluster structure | 
| nbands | number of bands | 
Definition at line 28 of file c_begin.c.
References _, Cluster::band_sum, Cluster::band_sum2, free(), I_free_signatures(), I_init_signatures(), malloc(), Cluster::nbands, Cluster::np, Cluster::npoints, NULL, Cluster::points, Cluster::S, and Signature::title.
| int I_cluster_begin_point_set | ( | struct Cluster * | C, | 
| int | n | ||
| ) | 
| int I_cluster_clear | ( | struct Cluster * | C | ) | 
Clear Cluster structure.
| C | pointer to Cluster structure | 
Definition at line 23 of file c_clear.c.
References Cluster::band_sum, Cluster::band_sum2, Cluster::class, Cluster::count, Cluster::countdiff, I_init_signatures(), Cluster::mean, Cluster::nbands, NULL, Cluster::points, Cluster::reclass, Cluster::S, Cluster::sum, Cluster::sum2, and Cluster::sumdiff.
| int I_cluster_distinct | ( | struct Cluster * | C, | 
| double | separation | ||
| ) | 
Get distinct value.
| C | pointer to Cluster structure | 
| separation | separation value | 
Definition at line 24 of file c_distinct.c.
References Cluster::count, I_cluster_separation(), I_cluster_sum2(), Cluster::merge1, Cluster::merge2, and Cluster::nclasses.
Referenced by I_cluster_exec().
| int I_cluster_end_point_set | ( | struct Cluster * | C, | 
| int | n | ||
| ) | 
| int I_cluster_exec | ( | struct Cluster * | C, | 
| int | maxclass, | ||
| int | iterations, | ||
| double | convergence, | ||
| double | separation, | ||
| int | min_class_size, | ||
| int(*)(struct Cluster *, int) | checkpoint, | ||
| int * | interrupted | ||
| ) | 
| C | pointer to Cluster structure | 
| maxclass | maximum number of classes | 
| iterations | maximum number of iterations | 
| convergence | percentage of points stable | 
| separation | minimum distance between class centroids | 
| min_class_size | minimum size of class | 
| checkpoint | routine to be called at various steps | 
| interrupted | boolean to check for interrupt | 
Definition at line 32 of file c_exec.c.
References _, G_warning(), I_cluster_assign(), I_cluster_distinct(), I_cluster_exec_allocate(), I_cluster_means(), I_cluster_merge(), I_cluster_reassign(), I_cluster_reclass(), I_cluster_signatures(), I_cluster_sum2(), Cluster::nclasses, and Cluster::npoints.
| int I_cluster_exec_allocate | ( | struct Cluster * | C | ) | 
Allocate Cluster structure.
| C | pointer to Cluster structure | 
Definition at line 24 of file c_execmem.c.
References Cluster::class, Cluster::count, Cluster::countdiff, G_debug(), I_alloc_double2(), I_alloc_int(), I_cluster_exec_free(), Cluster::mean, Cluster::nbands, Cluster::nclasses, Cluster::npoints, NULL, Cluster::reclass, Cluster::sum, Cluster::sum2, and Cluster::sumdiff.
Referenced by I_cluster_exec().
| int I_cluster_exec_free | ( | struct Cluster * | C | ) | 
Free allocated Cluster structure.
| C | pointer to Cluster structure | 
Definition at line 53 of file c_execmem.c.
References Cluster::class, Cluster::count, Cluster::countdiff, I_free(), I_free_double2(), Cluster::mean, NULL, Cluster::reclass, Cluster::sum, Cluster::sum2, and Cluster::sumdiff.
Referenced by I_cluster_exec_allocate().
| int I_cluster_means | ( | struct Cluster * | C | ) | 
Calculate means value.
| C | pointer to Cluster structure | 
Definition at line 24 of file c_means.c.
Referenced by I_cluster_exec().
| int I_cluster_merge | ( | struct Cluster * | C | ) | 
?
| C | pointer to Cluster structure | 
Definition at line 23 of file c_merge.c.
References Cluster::class, Cluster::count, Cluster::merge1, Cluster::merge2, Cluster::nbands, Cluster::npoints, and Cluster::sum.
Referenced by I_cluster_exec().
| int I_cluster_nclasses | ( | struct Cluster * | C, | 
| int | minsize | ||
| ) | 
Get number of classes.
| C | pointer to Cluster structure | 
| minsize | minimum class size | 
Definition at line 24 of file c_nclasses.c.
References Cluster::count, and Cluster::nclasses.
Adds the point x to the list of data points to be "clustered".
The dimension of x must agree with the number of bands specified in the initializing call to I_cluster_begin()
Note: if all values in x are zero, the point is rejected
Definition at line 32 of file c_point.c.
References Cluster::nbands, Rast_is_d_null_value, and x.
| int I_cluster_reassign | ( | struct Cluster * | C, | 
| int * | interrupted | ||
| ) | 
?
| C | pointer to Cluster structure | 
| interrupted | 
Definition at line 25 of file c_reassign.c.
References min.
Referenced by I_cluster_exec().
| int I_cluster_reclass | ( | struct Cluster * | C, | 
| int | minsize | ||
| ) | 
Reclass data.
| C | pointer to Cluster structure | 
| minsize | minimum class size | 
Definition at line 25 of file c_reclass.c.
Referenced by I_cluster_exec().
| double I_cluster_separation | ( | struct Cluster * | C, | 
| int | class1, | ||
| int | class2 | ||
| ) | 
?
| C | pointer to Cluster structure | 
| class1 | 1st class | 
| class2 | 2nd class | 
Definition at line 26 of file c_sep.c.
Referenced by I_cluster_distinct().
| int I_cluster_signatures | ( | struct Cluster * | C | ) | 
Create signatures.
| C | pointer to Cluster structure | 
Definition at line 23 of file c_sig.c.
Referenced by I_cluster_exec().
| int I_cluster_sum2 | ( | struct Cluster * | C | ) | 
Compute sum of squares for each class.
| C | pointer to Cluster structure | 
Definition at line 23 of file c_sum2.c.
References G_debug(), Cluster::nbands, Cluster::nclasses, Cluster::npoints, Cluster::points, and Cluster::sum2.
Referenced by I_cluster_distinct(), and I_cluster_exec().