Adaptive clustering split factor. The adaptive clustering split factor
must be contained between 0 and 1 (included). The lower bound (0)
enforces a single split, i.e., 2 new clusters, while the upper bound
(1) is associated with a maximum defined number of new voxels.
Threshold number of adaptive material phase number of clusters. Once
this threshold is surpassed, the adaptive procedures of the adaptive
material phase are deactivated.
True if adaptive clustering split factor is to be computed dynamically.
Otherwise, the adaptive clustering split factor is always set equal to
_adapt_split_factor.
cluster_data_matrix (numpy.ndarray (2d)) – Data matrix (numpy.ndarray of shape
(n_phase_voxels, n_features_dims)) containing the clustering
features data to perform the material phase cluster analyses.
n_clusters (int) – Number of material phase clusters.
cluster_data_matrix (numpy.ndarray (2d)) – Data matrix (numpy.ndarray of shape
(n_phase_voxels, n_features_dims)) containing the clustering
features data to perform the material phase cluster analyses.
n_clusters (int) – Number of material phase clusters.
Check conditions that may deactivate the adaptive procedures in the
ACRMP. Once the ACRMP adaptivity is locked, it is treated as a SCRMP
for the remainder of the problem numerical solution.
A detailed description of the dynamic adaptive clustering split factor
can be found in Ferreira et. al (2022) [2].
Parameters:
ref_split_factor (float) – Reference (centered) adaptive clustering split factor. The adaptive
clustering split factor must be contained between 0 and 1
(included). The lower bound (0) enforces a single split, while the
upper bound (1) performs the maximum number splits of each cluster
(leading to single-voxel clusters).
adapt_trigger_ratio (float) – Threshold associated with the adaptivity trigger condition.
magnitude (float) – Difference between cluster ratio and adaptive trigger ratio. Given
that the cluster ratio ranges between 0 and 1 and only clusters
with a ratio greater or equal than the adaptive trigger ratio are
targeted, the magnitude ranges between 0 and 1 - trigger ratio.
dynamic_amp (float, default=0) – Dynamic split factor amplitude centered around the reference
adaptive clustering split factor.
Returns:
adapt_split_factor – Adaptive clustering split factor. The adaptive clustering split
factor must be contained between 0 and 1 (included). The lower
bound (0) enforces a single split, i.e., 2 new clusters, while the
upper bound (1) is associated with a maximum defined number of new
voxels.
Refine the provided target clusters by splitting them according to the
prescribed adaptive clustering scheme.
Parameters:
target_clusters (list[int]) – List with the labels (int) of clusters to be adapted.
target_clusters_data (dict) – For each target cluster (key, str), store dictionary (item, dict)
containing cluster associated parameters required for the adaptive
procedures.
adaptive_clustering_scheme (dict) – Prescribed adaptive clustering scheme (item, numpy.ndarray of shape
(n_clusterings, 3)) for each material phase (key, str). Each row is
associated with a unique clustering characterized by a clustering
algorithm (col 1, int), a list of features (col 2, list[int]) and a
list of the features data matrix’ indexes (col 3, list[int]).
base_clustering_scheme (dict) – Prescribed base clustering scheme (item, numpy.ndarray of shape
(n_clusterings, 3)) for each material phase (key, str). Each row is
associated with a unique clustering characterized by a clustering
algorithm (col 1, int), a list of features (col 2, list[int]) and a
list of the features data matrix’ indexes (col 3, list[int]).