From d2f4369bef2fd841f625ec819840a68f5eb6e705 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Tue, 13 Jan 2026 16:27:56 +0000 Subject: [PATCH 01/17] Addition of a function that cleans cluster population for 2D labels. --- .../_internal/data_processing/clusters.py | 31 +++++++++++++++++++ src/dynsight/data_processing.py | 4 +++ 2 files changed, 35 insertions(+) create mode 100644 src/dynsight/_internal/data_processing/clusters.py diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py new file mode 100644 index 00000000..502a850b --- /dev/null +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -0,0 +1,31 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING + +import numpy as np + +if TYPE_CHECKING: + from numpy.typing import NDArray + + +def cleaning_cluster_population( + labels: NDArray[np.int64], + threshold: float, + assigned_env: int = 1, +) -> NDArray[np.int64]: + dimension = 2 + if labels.ndim != dimension: + msg = "Labels must be 2D [part,frames]" + raise ValueError(msg) + + flat = labels.ravel() + unique, counts = np.unique(flat, return_counts=True) + + populations = counts / flat.size + small_clusters = unique[populations <= threshold] + + new_labels = labels.copy() + if small_clusters.size > 0: + new_labels[np.isin(labels, small_clusters)] = assigned_env + + return new_labels diff --git a/src/dynsight/data_processing.py b/src/dynsight/data_processing.py index db4eb959..329c855a 100644 --- a/src/dynsight/data_processing.py +++ b/src/dynsight/data_processing.py @@ -10,6 +10,9 @@ mergereferences, savereferences, ) +from dynsight._internal.data_processing.clusters import ( + cleaning_cluster_population, +) from dynsight._internal.data_processing.distances import ( kernelsoap, simplekernelsoap, @@ -20,6 +23,7 @@ __all__ = [ "applyclassification", + "cleaning_cluster_population", "createreferencesfromtrajectory", "getdistancebetween", "getdistancesfromref", From 6cf5161873cf44fa91f7723adaff4f4a3c0ddc8e Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Wed, 14 Jan 2026 09:46:49 +0000 Subject: [PATCH 02/17] cleaning_cluster_population now cleans also 3D labels. --- .../_internal/data_processing/clusters.py | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index 502a850b..6803b402 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -14,18 +14,33 @@ def cleaning_cluster_population( assigned_env: int = 1, ) -> NDArray[np.int64]: dimension = 2 - if labels.ndim != dimension: + if labels.ndim < dimension or labels.ndim > dimension + 1: msg = "Labels must be 2D [part,frames]" raise ValueError(msg) - flat = labels.ravel() - unique, counts = np.unique(flat, return_counts=True) + if labels.ndim == dimension: + flat = labels.ravel() + unique, counts = np.unique(flat, return_counts=True) - populations = counts / flat.size - small_clusters = unique[populations <= threshold] + populations = counts / flat.size + small_clusters = unique[populations <= threshold] - new_labels = labels.copy() - if small_clusters.size > 0: - new_labels[np.isin(labels, small_clusters)] = assigned_env + new_labels = labels.copy() + if small_clusters.size > 0: + new_labels[np.isin(labels, small_clusters)] = assigned_env + + if labels.ndim == dimension + 1: + new_labels = labels.copy() + for i in range(labels.shape[2]): + lab = labels[:, :, i] + flat = lab.ravel() + unique, counts = np.unique(flat, return_counts=True) + + populations = counts / flat.size + small_clusters = unique[populations <= threshold] + + if small_clusters.size > 0: + mask = np.isin(lab, small_clusters) + new_labels[:, :, i][mask] = assigned_env return new_labels From ff137be52ac5a774be0f54e723c61bb8fdb3457c Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 10:34:15 +0000 Subject: [PATCH 03/17] Documentation added to cleaning_cluster_population. --- docs/source/data_processing.rst | 8 +++ .../_internal/data_processing/clusters.py | 56 ++++++++++++++++++- 2 files changed, 63 insertions(+), 1 deletion(-) diff --git a/docs/source/data_processing.rst b/docs/source/data_processing.rst index 7963b687..0a7c3b3a 100644 --- a/docs/source/data_processing.rst +++ b/docs/source/data_processing.rst @@ -33,3 +33,11 @@ Classification savereferences <_autosummary/dynsight.data_processing.savereferences> getreferencesfromdataset <_autosummary/dynsight.data_processing.getreferencesfromdataset> applyclassification <_autosummary/dynsight.data_processing.applyclassification> + +Clustering +---------- + +.. toctree:: + :maxdepth: 1 + + cleaning_cluster_population <_autosummary/dynsight.data_processing.cleaning_cluster_population> diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index 6803b402..5f1db2b2 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -13,9 +13,63 @@ def cleaning_cluster_population( threshold: float, assigned_env: int = 1, ) -> NDArray[np.int64]: + """Replace labels belonging to low-population clusters with a reference environment label. + + This function identifies clusters whose relative population is below a given threshold and + reassigns their labels to a specified environment. + The population of each cluster is computed as the fraction of elements belonging to that label, + either for 2D inputs (`(n_atoms, n_frames)`) or for 3D inputs (`(n_atoms, n_frames, n_dims)`, + where n_dims can correspond to the different ∆t from Onion clustering). + Clusters with a population smaller than or equal to the `threshold` are considered negligible + and are replaced by the `assigned_env` label, while all other labels are preserved. + + Parameters: + labels: + NumPy array containing the label values. + The array should have dimensions corresponding + to either (n_atoms, n_frames) for 2D inputs, + or (n_atoms, n_frames, n_dims) for 3D inputs. + threshold: + A float value from 0 to 1 that defines the threshold at which + small clusters are neglected. + assigned_env: + The label at which smaller clusters are assigned to. + + Returns: + A NumPy array of the same shape as the input descriptor array, + containing the updated labels. If the input + array is 2D (n_atoms, n_frames), the output will be a 2D array of + the same shape. Otherwise, if the input is 3D (n_atoms, n_frames, n_dims), + the output will also be a 3D array of the same shape. + The labels of bigger clusters are uneffected by the re-labeling. + + Raises: + ValueError: + If the input descriptor array does not have 2 or 3 dimensions, + an error is raised. + + Example: + + .. code-block:: python + + from dynsight.data_processing import cleaning_cluster_population + import numpy as np + + original_labels = np.load('labels_array.npy') + + cleaned_labels = cleaning_cluster_population( + labels=original_labels, + threshold=0.1, + assigned_env=99, + ) + + In this example, the labels of the smaller clusters (lower than 10%) from + `original_labels` are replaced with label 99. The result is stored in + `cleaned_labels`, a NumPy array. + """ dimension = 2 if labels.ndim < dimension or labels.ndim > dimension + 1: - msg = "Labels must be 2D [part,frames]" + msg = "descriptor_array must be 2D or 3D." raise ValueError(msg) if labels.ndim == dimension: From 2314e3f1c56af3d8db1221d5a16acb33b7c1b1bb Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 10:58:17 +0000 Subject: [PATCH 04/17] removed default for assigned_env. --- src/dynsight/_internal/data_processing/clusters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index 5f1db2b2..4c3c9e8b 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -11,7 +11,7 @@ def cleaning_cluster_population( labels: NDArray[np.int64], threshold: float, - assigned_env: int = 1, + assigned_env: int, ) -> NDArray[np.int64]: """Replace labels belonging to low-population clusters with a reference environment label. From 5e67c2c78a8addb1cdb473a643fef311bb615e36 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 10:59:54 +0000 Subject: [PATCH 05/17] better explained function doc. --- src/dynsight/_internal/data_processing/clusters.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index 4c3c9e8b..32a7312e 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -33,7 +33,8 @@ def cleaning_cluster_population( A float value from 0 to 1 that defines the threshold at which small clusters are neglected. assigned_env: - The label at which smaller clusters are assigned to. + The label at which smaller clusters are assigned to, if the label + already exists the population extracted will be merged to the existing one. Returns: A NumPy array of the same shape as the input descriptor array, From 86646a3c4940a7b36471d6c941891ecd67a61980 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 13:47:03 +0000 Subject: [PATCH 06/17] Now get_onion_analysis returns labels. --- src/dynsight/_internal/trajectory/insight.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dynsight/_internal/trajectory/insight.py b/src/dynsight/_internal/trajectory/insight.py index bcc793af..ad0c06df 100644 --- a/src/dynsight/_internal/trajectory/insight.py +++ b/src/dynsight/_internal/trajectory/insight.py @@ -310,6 +310,7 @@ def get_onion_analysis( * delta_t_list: The list of ∆t used. * n_clust: The number of clusters at each ∆t. * unclass_frac: The fraction of unclassified data at each ∆t. + * list_of_labels: Labels at each ∆t. """ if delta_t_max is None: delta_t_max = self.dataset.shape[1] @@ -318,6 +319,7 @@ def get_onion_analysis( ) n_clust = np.zeros(delta_t_list.size, dtype=int) unclass_frac = np.zeros(delta_t_list.size) + list_of_labels = np.zeros((self.dataset.shape[0],self.dataset.shape[1],delta_t_list.size)) list_of_pop = [] for i, delta_t in enumerate(delta_t_list): @@ -327,6 +329,7 @@ def get_onion_analysis( number_of_sigmas, max_area_overlap, ) + list_of_labels[:,:,i] = on_cl.labels n_clust[i] = len(on_cl.state_list) unclass_frac[i] = np.sum(on_cl.labels == -1) / self.dataset.size list_of_pop.append( @@ -358,4 +361,4 @@ def get_onion_analysis( logger.log( f"Performed full onion clustering analysis with args {attr_dict}." ) - return delta_t_list, n_clust, unclass_frac + return delta_t_list, n_clust, unclass_frac, list_of_labels From dcc2fea4e84bc7249b30526c19dba049d3e12e8f Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 15:02:48 +0000 Subject: [PATCH 07/17] Added excluded_env. --- .../_internal/data_processing/clusters.py | 54 +++++++++++++------ 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index 32a7312e..ea4e4384 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -12,16 +12,21 @@ def cleaning_cluster_population( labels: NDArray[np.int64], threshold: float, assigned_env: int, + excluded_env: NDArray[np.int64] | None = None, ) -> NDArray[np.int64]: - """Replace labels belonging to low-population clusters with a reference environment label. - - This function identifies clusters whose relative population is below a given threshold and - reassigns their labels to a specified environment. - The population of each cluster is computed as the fraction of elements belonging to that label, - either for 2D inputs (`(n_atoms, n_frames)`) or for 3D inputs (`(n_atoms, n_frames, n_dims)`, - where n_dims can correspond to the different ∆t from Onion clustering). - Clusters with a population smaller than or equal to the `threshold` are considered negligible - and are replaced by the `assigned_env` label, while all other labels are preserved. + """Replace labels of low-population clusters with a reference label. + + This function identifies clusters whose relative population is below a + given threshold and reassigns their labels to a specified environment. + The population of each cluster is computed as the fraction of elements + belonging to that label, either for 2D inputs (`(n_atoms, n_frames)`) + or for 3D inputs (`(n_atoms, n_frames, n_dims)`, where n_dims can + correspond to the different ∆t from Onion clustering). + Clusters with a population smaller than or equal to the `threshold` are + considered negligible and are replaced by the `assigned_env` label, + while all other labels are preserved. + `excluded_env` give the possibility to exclude some clusters from + the re-labeling. Parameters: labels: @@ -30,18 +35,23 @@ def cleaning_cluster_population( to either (n_atoms, n_frames) for 2D inputs, or (n_atoms, n_frames, n_dims) for 3D inputs. threshold: - A float value from 0 to 1 that defines the threshold at which + A float value from 0 to 1 that defines the threshold at which small clusters are neglected. assigned_env: The label at which smaller clusters are assigned to, if the label - already exists the population extracted will be merged to the existing one. + already exists the population extracted will be merged to the + existing one. + excluded_env: + Clusters that need to be preserved even if their population is + under the threshold. Returns: A NumPy array of the same shape as the input descriptor array, containing the updated labels. If the input array is 2D (n_atoms, n_frames), the output will be a 2D array of - the same shape. Otherwise, if the input is 3D (n_atoms, n_frames, n_dims), - the output will also be a 3D array of the same shape. + the same shape. Otherwise, if the input is 3D + (n_atoms, n_frames, n_dims), the output will also be a 3D array + of the same shape. The labels of bigger clusters are uneffected by the re-labeling. Raises: @@ -64,15 +74,21 @@ def cleaning_cluster_population( assigned_env=99, ) - In this example, the labels of the smaller clusters (lower than 10%) from - `original_labels` are replaced with label 99. The result is stored in - `cleaned_labels`, a NumPy array. + In this example, the labels of the smaller clusters (lower than 10%) + from `original_labels` are replaced with label 99. The result is + stored in `cleaned_labels`, a NumPy array. """ dimension = 2 if labels.ndim < dimension or labels.ndim > dimension + 1: msg = "descriptor_array must be 2D or 3D." raise ValueError(msg) + excluded_env = ( + excluded_env + if excluded_env is not None + else np.array([], dtype=np.int64) + ) + if labels.ndim == dimension: flat = labels.ravel() unique, counts = np.unique(flat, return_counts=True) @@ -80,6 +96,8 @@ def cleaning_cluster_population( populations = counts / flat.size small_clusters = unique[populations <= threshold] + small_clusters = small_clusters[~np.isin(small_clusters, excluded_env)] + new_labels = labels.copy() if small_clusters.size > 0: new_labels[np.isin(labels, small_clusters)] = assigned_env @@ -94,6 +112,10 @@ def cleaning_cluster_population( populations = counts / flat.size small_clusters = unique[populations <= threshold] + small_clusters = small_clusters[ + ~np.isin(small_clusters, excluded_env) + ] + if small_clusters.size > 0: mask = np.isin(lab, small_clusters) new_labels[:, :, i][mask] = assigned_env From f78d066b0dbe1b535014b200414b9189a2091d9d Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 15:05:06 +0000 Subject: [PATCH 08/17] get_onion_analysis return list_of_labels. --- examples/onion_analysis.py | 4 ++-- src/dynsight/_internal/trajectory/insight.py | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/examples/onion_analysis.py b/examples/onion_analysis.py index a230a596..64a76e4e 100644 --- a/examples/onion_analysis.py +++ b/examples/onion_analysis.py @@ -98,7 +98,7 @@ def main() -> None: coord_1d = Insight(coord_2d.dataset[:, :, 0]) # Test onion clustering on a wide range of time resolutions - delta_t_list, n_clust, unclass_frac = coord_1d.get_onion_analysis( + delta_t_list, n_clust, unclass_frac, envs = coord_1d.get_onion_analysis( fig1_path=data_path / "time-res_1d.png", fig2_path=data_path / "pop_fracs_1d.png", ) @@ -110,7 +110,7 @@ def main() -> None: onion_results.plot_state_populations(data_path / "state_pops_1d.png") # Test onion clustering on a wide range of time resolutions - delta_t_list, n_clust, unclass_frac = coord_2d.get_onion_analysis( + delta_t_list, n_clust, unclass_frac, envs = coord_2d.get_onion_analysis( fig1_path=data_path / "time-res_2d.png", fig2_path=data_path / "pop_fracs_2d.png", ) diff --git a/src/dynsight/_internal/trajectory/insight.py b/src/dynsight/_internal/trajectory/insight.py index ad0c06df..753d3f12 100644 --- a/src/dynsight/_internal/trajectory/insight.py +++ b/src/dynsight/_internal/trajectory/insight.py @@ -279,7 +279,12 @@ def get_onion_analysis( bins: str | int = "auto", number_of_sigmas: float = 3.0, max_area_overlap: float = 0.8, - ) -> tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]: + ) -> tuple[ + NDArray[np.float64], + NDArray[np.float64], + NDArray[np.float64], + NDArray[np.float64], + ]: """Perform the full onion time resolution analysis. Note: this method uses the "onion smooth" functions (see documentation @@ -319,7 +324,9 @@ def get_onion_analysis( ) n_clust = np.zeros(delta_t_list.size, dtype=int) unclass_frac = np.zeros(delta_t_list.size) - list_of_labels = np.zeros((self.dataset.shape[0],self.dataset.shape[1],delta_t_list.size)) + list_of_labels = np.zeros( + (self.dataset.shape[0], self.dataset.shape[1], delta_t_list.size) + ) list_of_pop = [] for i, delta_t in enumerate(delta_t_list): @@ -329,7 +336,7 @@ def get_onion_analysis( number_of_sigmas, max_area_overlap, ) - list_of_labels[:,:,i] = on_cl.labels + list_of_labels[:, :, i] = on_cl.labels n_clust[i] = len(on_cl.state_list) unclass_frac[i] = np.sum(on_cl.labels == -1) / self.dataset.size list_of_pop.append( From 8d78027eabda8178093aab87307d943b5528c558 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 15:29:50 +0000 Subject: [PATCH 09/17] Added a warning for excluded_env. --- src/dynsight/_internal/data_processing/clusters.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index ea4e4384..49d0ed39 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -7,6 +7,7 @@ if TYPE_CHECKING: from numpy.typing import NDArray +from dynsight.logs import logger def cleaning_cluster_population( labels: NDArray[np.int64], @@ -89,6 +90,12 @@ def cleaning_cluster_population( else np.array([], dtype=np.int64) ) + missing = np.setdiff1d(excluded_env, np.unique(labels)) + + if missing.size > 0: + logger.log(f"Excluded value(s) not found in labels: {missing}") + + if labels.ndim == dimension: flat = labels.ravel() unique, counts = np.unique(flat, return_counts=True) From f31af597cab4fb8006e879dc3b0b163fd9dfdf79 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 16:26:24 +0000 Subject: [PATCH 10/17] Added test for cleaning_cluster_population. --- .../_internal/data_processing/clusters.py | 2 +- tests/data_processing/cluster/__init__.py | 0 tests/data_processing/cluster/case_data.py | 17 +++++ tests/data_processing/cluster/conftest.py | 70 ++++++++++++++++++ tests/data_processing/cluster/test_cluster.py | 63 ++++++++++++++++ .../c0_clean_pop_th5_ass99_exNone.npy | Bin 0 -> 1088 bytes .../c1_clean_pop_th15_ass99_exNone.npy | Bin 0 -> 1088 bytes .../c2_clean_pop_th25_ass99_exNone.npy | Bin 0 -> 1088 bytes .../c3_clean_pop_th25_ass99_ex4.npy | Bin 0 -> 1088 bytes .../c4_clean_pop_th25_ass99_ex3-4.npy | Bin 0 -> 1088 bytes .../c5_clean_pop_th25_ass99_ex3-7.npy | Bin 0 -> 1088 bytes .../c6_clean_pop_th25_ass1_exNone.npy | Bin 0 -> 1088 bytes 12 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 tests/data_processing/cluster/__init__.py create mode 100644 tests/data_processing/cluster/case_data.py create mode 100644 tests/data_processing/cluster/conftest.py create mode 100644 tests/data_processing/cluster/test_cluster.py create mode 100644 tests/data_processing/cluster/test_cluster/c0_clean_pop_th5_ass99_exNone.npy create mode 100644 tests/data_processing/cluster/test_cluster/c1_clean_pop_th15_ass99_exNone.npy create mode 100644 tests/data_processing/cluster/test_cluster/c2_clean_pop_th25_ass99_exNone.npy create mode 100644 tests/data_processing/cluster/test_cluster/c3_clean_pop_th25_ass99_ex4.npy create mode 100644 tests/data_processing/cluster/test_cluster/c4_clean_pop_th25_ass99_ex3-4.npy create mode 100644 tests/data_processing/cluster/test_cluster/c5_clean_pop_th25_ass99_ex3-7.npy create mode 100644 tests/data_processing/cluster/test_cluster/c6_clean_pop_th25_ass1_exNone.npy diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index 49d0ed39..a0168235 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -9,6 +9,7 @@ from dynsight.logs import logger + def cleaning_cluster_population( labels: NDArray[np.int64], threshold: float, @@ -95,7 +96,6 @@ def cleaning_cluster_population( if missing.size > 0: logger.log(f"Excluded value(s) not found in labels: {missing}") - if labels.ndim == dimension: flat = labels.ravel() unique, counts = np.unique(flat, return_counts=True) diff --git a/tests/data_processing/cluster/__init__.py b/tests/data_processing/cluster/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/data_processing/cluster/case_data.py b/tests/data_processing/cluster/case_data.py new file mode 100644 index 00000000..7c1128d3 --- /dev/null +++ b/tests/data_processing/cluster/case_data.py @@ -0,0 +1,17 @@ +from __future__ import annotations + +from dataclasses import dataclass +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + import numpy as np + from numpy.typing import NDArray + + +@dataclass(frozen=True, slots=True) +class CleanPopCaseData: + name: str + expected_clean_pop: str + threshold: float + assigned_env: int + excluded_env: NDArray[np.int64] | None = None diff --git a/tests/data_processing/cluster/conftest.py b/tests/data_processing/cluster/conftest.py new file mode 100644 index 00000000..dde87166 --- /dev/null +++ b/tests/data_processing/cluster/conftest.py @@ -0,0 +1,70 @@ +import pytest + +from tests.data_processing.cluster.case_data import CleanPopCaseData + + +@pytest.fixture( + scope="session", + params=( + # Case 0: Cleaning 5% + lambda name: CleanPopCaseData( + expected_clean_pop="c0_clean_pop_th5_ass99_exNone.npy", + threshold=0.05, + assigned_env=99, + excluded_env=None, + name=name, + ), + # Case 1: Cleaning 15% + lambda name: CleanPopCaseData( + expected_clean_pop="c1_clean_pop_th15_ass99_exNone.npy", + threshold=0.15, + assigned_env=99, + excluded_env=None, + name=name, + ), + # Case 2: Cleaning 25% + lambda name: CleanPopCaseData( + expected_clean_pop="c2_clean_pop_th25_ass99_exNone.npy", + threshold=0.25, + assigned_env=99, + excluded_env=None, + name=name, + ), + # Case 3: Cleaning 25%, excluding 4 + lambda name: CleanPopCaseData( + expected_clean_pop="c3_clean_pop_th25_ass99_ex4.npy", + threshold=0.25, + assigned_env=99, + excluded_env=4, + name=name, + ), + # Case 4: Cleaning 25%, excluding 3,4 + lambda name: CleanPopCaseData( + expected_clean_pop="c4_clean_pop_th25_ass99_ex3-4.npy", + threshold=0.25, + assigned_env=99, + excluded_env=[3, 4], + name=name, + ), + # Case 5: Cleaning 25%, excluding 3,7 + lambda name: CleanPopCaseData( + expected_clean_pop="c5_clean_pop_th25_ass99_ex3-7.npy", + threshold=0.25, + assigned_env=99, + excluded_env=[3, 7], + name=name, + ), + # Case 6: Cleaning 25%, excluding 3,4 + lambda name: CleanPopCaseData( + expected_clean_pop="c6_clean_pop_th25_ass1_exNone.npy", + threshold=0.25, + assigned_env=1, + excluded_env=None, + name=name, + ), + ), +) +def case_data(request: pytest.FixtureRequest) -> CleanPopCaseData: + return request.param( + f"{request.fixturename}{request.param_index}", # type: ignore [attr-defined] + ) diff --git a/tests/data_processing/cluster/test_cluster.py b/tests/data_processing/cluster/test_cluster.py new file mode 100644 index 00000000..5eb79690 --- /dev/null +++ b/tests/data_processing/cluster/test_cluster.py @@ -0,0 +1,63 @@ +"""Pytest for dynsight.lens.compute_lens.""" + +from pathlib import Path + +import numpy as np +import pytest + +from dynsight.data_processing import cleaning_cluster_population + +from .case_data import CleanPopCaseData + +# ---------------- Tests ---------------- + + +def test_clean_pop_noexcl(case_data: CleanPopCaseData) -> None: + original_dir = Path(__file__).resolve().parent + expected_clean_pop = ( + original_dir / "test_cluster" / case_data.expected_clean_pop + ) + + labels = np.zeros((4, 10, 3), dtype=int) + + labels[:, :, 0] = np.array( + [ + [0, 0, 0, 1, 1, 1, 2, 2, 2, 2], + [0, 0, 0, 1, 1, 1, 2, 2, 2, 2], + [0, 0, 0, 1, 1, 1, 2, 2, 2, 3], + [0, 0, 0, 1, 1, 1, 2, 2, 2, 3], + ] + ) + + labels[:, :, 1] = np.array( + [ + [0, 0, 0, 0, 0, 1, 1, 1, 1, 4], + [0, 0, 0, 0, 0, 1, 1, 1, 1, 4], + [0, 0, 0, 0, 0, 1, 1, 1, 4, 4], + [0, 0, 0, 0, 0, 1, 1, 1, 4, 4], + ] + ) + + labels[:, :, 2] = np.array( + [ + [0, 0, 9, 9, 0, 1, 1, 1, 1, 9], + [0, 0, 0, 9, 0, 1, 1, 1, 1, 9], + [0, 0, 0, 9, 0, 1, 1, 1, 1, 9], + [0, 9, 0, 0, 0, 1, 1, 1, 1, 9], + ] + ) + + test_clean_pop = cleaning_cluster_population( + labels, + threshold=case_data.threshold, + assigned_env=case_data.assigned_env, + excluded_env=case_data.excluded_env, + ) + + if not expected_clean_pop.exists(): + np.save(expected_clean_pop, test_clean_pop) + pytest.fail( + "Clean_pop test files were not present. They have been created." + ) + exp_clean_pop = np.load(expected_clean_pop) + assert np.allclose(exp_clean_pop, test_clean_pop, atol=1e-6) diff --git a/tests/data_processing/cluster/test_cluster/c0_clean_pop_th5_ass99_exNone.npy b/tests/data_processing/cluster/test_cluster/c0_clean_pop_th5_ass99_exNone.npy new file mode 100644 index 0000000000000000000000000000000000000000..f5f8a9a5a23f45f35601a796cc72090ea6db805f GIT binary patch literal 1088 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlWC!@qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yItqpcIts>`ItsN4WC1P)3IQinKO>qsxWr+~VCvCnCN%S4^5lxMK+S`> z2WCH|G|XKvb71D9i^Jq$;^;KF{=#L>aP=?DUod|sLjx8j4hw%+coU)tsfXEvZVn-F Rm^_RoH-2IMf|-NMzW}fF9Txxq literal 0 HcmV?d00001 diff --git a/tests/data_processing/cluster/test_cluster/c1_clean_pop_th15_ass99_exNone.npy b/tests/data_processing/cluster/test_cluster/c1_clean_pop_th15_ass99_exNone.npy new file mode 100644 index 0000000000000000000000000000000000000000..983b00796509da1dc9f62dfae810178924744152 GIT binary patch literal 1088 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlWC!@qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yItqpcIts>`ItsN4WC1P)3IQinKO>qsxWr+~VCvCnCN%S4^5lvqL(PM^ z2WCH|G|XKvb71D9i^Jq$;^;KF{=#L>aP=?DUod~e_%Iq4{;=>SL=#dEvj^QALgFxa T7)@^c!u$m@2gZldF!uuhRRJGS literal 0 HcmV?d00001 diff --git a/tests/data_processing/cluster/test_cluster/c2_clean_pop_th25_ass99_exNone.npy b/tests/data_processing/cluster/test_cluster/c2_clean_pop_th25_ass99_exNone.npy new file mode 100644 index 0000000000000000000000000000000000000000..e9d0699e1a10cfe722f4dee4e7e881ea987df9b4 GIT binary patch literal 1088 zcmcJKF$w}P5Jh(_Jw>`Gq)@aFv9?oeEUYB#MigXM60s3a;e}nn*9?S(1k*h7XXgKz z_jbS89m?WSJaz3t<@HkO)n%cL(x=wny={)IuiaN)+iP&09?tgWy8mcy)O2FhY;4p^ zCB0#h`KsT1DSTo&ZS+eHgdg=(ojoA=xnwVV@RvGubjj4aVm|Bv$gbZG Y_sTr}lH~W1xmX{2%X*(q9sc{?4|cmEdjJ3c literal 0 HcmV?d00001 diff --git a/tests/data_processing/cluster/test_cluster/c3_clean_pop_th25_ass99_ex4.npy b/tests/data_processing/cluster/test_cluster/c3_clean_pop_th25_ass99_ex4.npy new file mode 100644 index 0000000000000000000000000000000000000000..e5f0e61d5980ae48cf52704c09a50485d209acb2 GIT binary patch literal 1088 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlWC!@qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I#yItqpcIts>`ItsN4WC1P)3PCbdKO>qsxWr+~VCvCnCN%S4^5lxMK+S`> z2WCH|G|XKvb71D9i^Jq$;^;KF{=#L>aP=?DUod~e!W$+I`ItsN4WC1P)3PCbdKO>qsxWr+~VCvCnCN%S4^5lxMK+S`> z2WCH|G|XKvb71D9i^Jq$;^;KF{=#L>aP=?DUod|&Ljx8j4hw%+coU)tsfXEvZVn-F Rm^_RoH-2IMf|-NMzW`;fAAtY> literal 0 HcmV?d00001 diff --git a/tests/data_processing/cluster/test_cluster/c5_clean_pop_th25_ass99_ex3-7.npy b/tests/data_processing/cluster/test_cluster/c5_clean_pop_th25_ass99_ex3-7.npy new file mode 100644 index 0000000000000000000000000000000000000000..48a3285e807baf129721ece1b62fbfdb05e244ed GIT binary patch literal 1088 zcmcJKu?oU45Qbabe2Q#Q$e`#T;_RllI5g)l@?@RW=2Y;#4N0&^!tILNyAo+bs9zOU>oj$r` a>b){=*ao3P@?(t6v$yn#>Ga{h@BIP_yCJ&( literal 0 HcmV?d00001 diff --git a/tests/data_processing/cluster/test_cluster/c6_clean_pop_th25_ass1_exNone.npy b/tests/data_processing/cluster/test_cluster/c6_clean_pop_th25_ass1_exNone.npy new file mode 100644 index 0000000000000000000000000000000000000000..d73149ea6660372fe4b2b9f45186f2b695cab164 GIT binary patch literal 1088 zcmb`CF$w}P5Jh(_Jw>`Gq)@aFv9?oeEUYBB5e0E25gYLoUf30U%|HliHqB$+B!4FF z^>(${mBpiY>dJ+K*K?&8=b1K2A8UX2_PVcq<-UGtFTpiFob1gt^x`2YX_ literal 0 HcmV?d00001 From 124167c812acfa1be10ad8ab363edeef1204cc02 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 22 Jan 2026 16:50:13 +0000 Subject: [PATCH 11/17] mypy fixes. --- .../_internal/data_processing/clusters.py | 19 ++++++++++--------- tests/data_processing/cluster/case_data.py | 7 +------ 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index a0168235..c5951d4f 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -14,7 +14,7 @@ def cleaning_cluster_population( labels: NDArray[np.int64], threshold: float, assigned_env: int, - excluded_env: NDArray[np.int64] | None = None, + excluded_env: int | list[int] | None = None, ) -> NDArray[np.int64]: """Replace labels of low-population clusters with a reference label. @@ -85,13 +85,14 @@ def cleaning_cluster_population( msg = "descriptor_array must be 2D or 3D." raise ValueError(msg) - excluded_env = ( - excluded_env - if excluded_env is not None - else np.array([], dtype=np.int64) - ) + if excluded_env is None: + excluded_arr: NDArray[np.int64] = np.array([], dtype=np.int64) + elif isinstance(excluded_env, int): + excluded_arr = np.array([excluded_env], dtype=np.int64) + else: + excluded_arr = np.array(excluded_env, dtype=np.int64) - missing = np.setdiff1d(excluded_env, np.unique(labels)) + missing = np.setdiff1d(excluded_arr, np.unique(labels)) if missing.size > 0: logger.log(f"Excluded value(s) not found in labels: {missing}") @@ -103,7 +104,7 @@ def cleaning_cluster_population( populations = counts / flat.size small_clusters = unique[populations <= threshold] - small_clusters = small_clusters[~np.isin(small_clusters, excluded_env)] + small_clusters = small_clusters[~np.isin(small_clusters, excluded_arr)] new_labels = labels.copy() if small_clusters.size > 0: @@ -120,7 +121,7 @@ def cleaning_cluster_population( small_clusters = unique[populations <= threshold] small_clusters = small_clusters[ - ~np.isin(small_clusters, excluded_env) + ~np.isin(small_clusters, excluded_arr) ] if small_clusters.size > 0: diff --git a/tests/data_processing/cluster/case_data.py b/tests/data_processing/cluster/case_data.py index 7c1128d3..62691758 100644 --- a/tests/data_processing/cluster/case_data.py +++ b/tests/data_processing/cluster/case_data.py @@ -1,11 +1,6 @@ from __future__ import annotations from dataclasses import dataclass -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - import numpy as np - from numpy.typing import NDArray @dataclass(frozen=True, slots=True) @@ -14,4 +9,4 @@ class CleanPopCaseData: expected_clean_pop: str threshold: float assigned_env: int - excluded_env: NDArray[np.int64] | None = None + excluded_env: int | list[int] | None = None From 178cfd3ca1a9fbfe92f6c7d57259adfffcbc98be Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Tue, 27 Jan 2026 13:58:06 +0000 Subject: [PATCH 12/17] Added warning function. --- src/dynsight/_internal/data_processing/clusters.py | 2 +- src/dynsight/_internal/logs.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/dynsight/_internal/data_processing/clusters.py b/src/dynsight/_internal/data_processing/clusters.py index c5951d4f..b61b213d 100644 --- a/src/dynsight/_internal/data_processing/clusters.py +++ b/src/dynsight/_internal/data_processing/clusters.py @@ -95,7 +95,7 @@ def cleaning_cluster_population( missing = np.setdiff1d(excluded_arr, np.unique(labels)) if missing.size > 0: - logger.log(f"Excluded value(s) not found in labels: {missing}") + logger.warning(f"Excluded value(s) not found in labels: {missing}") if labels.ndim == dimension: flat = labels.ravel() diff --git a/src/dynsight/_internal/logs.py b/src/dynsight/_internal/logs.py index b568bddb..6be2e8f3 100644 --- a/src/dynsight/_internal/logs.py +++ b/src/dynsight/_internal/logs.py @@ -107,6 +107,18 @@ def log(self, msg: str) -> None: console.info(msg) self._log.append(history_entry) + def warning(self, msg: str) -> None: + """Records an informational warning message to the log. + + Parameters: + msg: + The message to record. + """ + timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S") + history_entry = f"[{timestamp}] {msg}" + console.warning(msg) + self._log.append(history_entry) + def save_history(self, filename: Path) -> None: """Saves the current log history to a text file. From 72db13d3b0589756c042edbe3ea7319d21c57d96 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Tue, 27 Jan 2026 14:04:36 +0000 Subject: [PATCH 13/17] test_cluster uses np.array_equal. --- tests/data_processing/cluster/test_cluster.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/data_processing/cluster/test_cluster.py b/tests/data_processing/cluster/test_cluster.py index 5eb79690..14b420b7 100644 --- a/tests/data_processing/cluster/test_cluster.py +++ b/tests/data_processing/cluster/test_cluster.py @@ -9,8 +9,6 @@ from .case_data import CleanPopCaseData -# ---------------- Tests ---------------- - def test_clean_pop_noexcl(case_data: CleanPopCaseData) -> None: original_dir = Path(__file__).resolve().parent @@ -60,4 +58,4 @@ def test_clean_pop_noexcl(case_data: CleanPopCaseData) -> None: "Clean_pop test files were not present. They have been created." ) exp_clean_pop = np.load(expected_clean_pop) - assert np.allclose(exp_clean_pop, test_clean_pop, atol=1e-6) + assert np.array_equal(exp_clean_pop, test_clean_pop) From 4b8a45deeef2c1c93997876dfb3a223a6f514979 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Thu, 5 Feb 2026 16:31:54 +0000 Subject: [PATCH 14/17] change default of logger auto_recording to false. --- docs/source/logs.rst | 12 ++++++------ src/dynsight/_internal/logs.py | 4 ++-- tests/logger/test_logger.py | 1 + 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/source/logs.rst b/docs/source/logs.rst index 57f030a6..d9092c1f 100644 --- a/docs/source/logs.rst +++ b/docs/source/logs.rst @@ -3,17 +3,17 @@ Logs dynsight logging system. -.. warning:: +.. note:: - A default instance of :class:`Logger` is **automatically created** when importing the ``dynsight`` package. - This instance is available as ``dynsight.logs.logger``. - - You can configure it, for example to disable the automatic recording of datasets, using: + A default :class:`Logger` is istantiated to keep the user updated on the ongoing computational steps. + + An option of :class:`Logger` that automatically saves and records the dataset + can be activated after importing the ``dynsight`` package by using: .. code-block:: python import dynsight - dynsight.logs.logger.configure(auto_recording=False) + dynsight.logs.logger.configure(auto_recording=True) You can also access all its attributes and methods described in the Logs page below. diff --git a/src/dynsight/_internal/logs.py b/src/dynsight/_internal/logs.py index 6be2e8f3..736e037e 100644 --- a/src/dynsight/_internal/logs.py +++ b/src/dynsight/_internal/logs.py @@ -68,7 +68,7 @@ class Logger: def __init__( self, *, - auto_recording: bool = True, + auto_recording: bool = False, ) -> None: self._log: list[str] = [] self._recorded_data: list[RecordedDataset] = [] @@ -79,7 +79,7 @@ def __init__( def configure( self, *, - auto_recording: bool = True, + auto_recording: bool = False, ) -> None: """Adjusts the runtime configuration of the logger. diff --git a/tests/logger/test_logger.py b/tests/logger/test_logger.py index 88f3549e..37645964 100644 --- a/tests/logger/test_logger.py +++ b/tests/logger/test_logger.py @@ -9,6 +9,7 @@ def test_zip_arch() -> None: """Ensure the zip archive is created and contains the expected files.""" + logger.configure(auto_recording=True) logger.clear_history() original_dir = Path(__file__).absolute().parent From cb9149be35413b9a99ac5ff6be4915f19151d1d6 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Mon, 9 Feb 2026 14:46:05 +0000 Subject: [PATCH 15/17] fixed variable name in doctest. --- docs/source/tutorials/spatial_denoising.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/tutorials/spatial_denoising.rst b/docs/source/tutorials/spatial_denoising.rst index 435d3636..6f9934d5 100644 --- a/docs/source/tutorials/spatial_denoising.rst +++ b/docs/source/tutorials/spatial_denoising.rst @@ -221,7 +221,7 @@ Full scripts and input files assert soap_test.meta["l_max"]==8 assert np.allclose(soap_test.dataset, reference_soap, atol=1e-6) - _, tsoap_test = trj.get_timesoap( + _, tsoap_test = trj_test.get_timesoap( soap_insight=soap_test, ) From d440983285b6bc44c7a60c03791e48c84f64541d Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Mon, 9 Feb 2026 14:46:32 +0000 Subject: [PATCH 16/17] changed format of labels in get_onion_analysis. --- src/dynsight/_internal/trajectory/insight.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/dynsight/_internal/trajectory/insight.py b/src/dynsight/_internal/trajectory/insight.py index 753d3f12..30828e79 100644 --- a/src/dynsight/_internal/trajectory/insight.py +++ b/src/dynsight/_internal/trajectory/insight.py @@ -281,9 +281,9 @@ def get_onion_analysis( max_area_overlap: float = 0.8, ) -> tuple[ NDArray[np.float64], + NDArray[np.int64], NDArray[np.float64], - NDArray[np.float64], - NDArray[np.float64], + NDArray[np.int64], ]: """Perform the full onion time resolution analysis. @@ -325,7 +325,8 @@ def get_onion_analysis( n_clust = np.zeros(delta_t_list.size, dtype=int) unclass_frac = np.zeros(delta_t_list.size) list_of_labels = np.zeros( - (self.dataset.shape[0], self.dataset.shape[1], delta_t_list.size) + (self.dataset.shape[0], self.dataset.shape[1], delta_t_list.size), + dtype=np.int64, ) list_of_pop = [] From 917b60974318da24e0aad8ae2428a5e15f72b7d1 Mon Sep 17 00:00:00 2001 From: ChiaraLionello Date: Mon, 9 Feb 2026 14:54:05 +0000 Subject: [PATCH 17/17] Added tutorial for cleaning_cluster_population in tips_and_tricks section. --- .../recipes/cleaning_cluster_population.py | 78 +++++++ .../cleaned_onion_analysis.png | Bin 0 -> 225297 bytes .../tips_and_tricks/cluster_population.png | Bin 0 -> 127721 bytes docs/source/tutorials/tips_and_tricks.rst | 219 ++++++++++++++++++ docs/source/tutorials_menu.rst | 13 ++ 5 files changed, 310 insertions(+) create mode 100644 docs/source/_static/recipes/cleaning_cluster_population.py create mode 100644 docs/source/_static/tutorials/tips_and_tricks/cleaned_onion_analysis.png create mode 100644 docs/source/_static/tutorials/tips_and_tricks/cluster_population.png create mode 100644 docs/source/tutorials/tips_and_tricks.rst diff --git a/docs/source/_static/recipes/cleaning_cluster_population.py b/docs/source/_static/recipes/cleaning_cluster_population.py new file mode 100644 index 00000000..e3c932dd --- /dev/null +++ b/docs/source/_static/recipes/cleaning_cluster_population.py @@ -0,0 +1,78 @@ +"""Code from the Spatial Denoising tutorial.""" + +from pathlib import Path + +import numpy as np + +import dynsight +from dynsight.data_processing import cleaning_cluster_population +from dynsight.trajectory import Trj + + +def main() -> None: + """Code from the Spatial Denoising tutorial.""" + # Loading an example trajectory + files_path = Path("INPUT") + trj = Trj.init_from_xtc( + traj_file=files_path / "ice_water_ox.xtc", + topo_file=files_path / "ice_water_ox.gro", + ) + + # Computing TimeSOAP descriptor + _, tsoap = trj.get_timesoap( + r_cut=10, + n_max=8, + l_max=8, + n_jobs=4, # Adjust n_jobs according to your computer capabilities + ) + + # Applying Spatial Denoising + sliced_trj = trj.with_slice(slice(0, -1, 1)) + sp_denoised_tsoap = tsoap.spatial_average( + trj=sliced_trj, + r_cut=10, + n_jobs=4, # Adjust n_jobs according to your computer capabilities + ) + + # Performing Onion Clustering on the descriptor computed + delta_t_list, n_clust, unclass_frac, labels = ( + sp_denoised_tsoap.get_onion_analysis( + delta_t_min=2, + delta_t_num=20, + fig1_path=files_path / "denoised_onion_analysis.png", + fig2_path=files_path / "cluster_population.png", + ) + ) + + # Saving Onion output in an array + onion_output = np.array([delta_t_list, n_clust, unclass_frac]).T + + # Assigning clusters with population <5% to the unclassified environment + # (label=-1) + cleaned_labels = cleaning_cluster_population( + labels, threshold=0.05, assigned_env=-1 + ) + + # Updating the data and plotting the cleaned number of clusters and + # unclassified fraction + delta_t_list = onion_output[ + :, 0 + ] # since unchanged, windows can be copied from above + + n_clust = np.zeros(delta_t_list.shape[0], dtype=np.int64) + unclass_frac = np.zeros(delta_t_list.shape[0]) + for i in range(delta_t_list.shape[0]): + n_clust[i] = np.unique(cleaned_labels[:, :, i]).size - 1 + unclass_frac[i] = np.sum(cleaned_labels[:, :, i] == -1) / np.size( + cleaned_labels[:, :, i] + ) + + cleaned_onion_output = np.array([delta_t_list, n_clust, unclass_frac]).T + + dynsight.onion.plot_smooth.plot_time_res_analysis( + files_path / "cleaned_onion_analysis.png", cleaned_onion_output + ) + + +if __name__ == "__main__": + main() diff --git a/docs/source/_static/tutorials/tips_and_tricks/cleaned_onion_analysis.png b/docs/source/_static/tutorials/tips_and_tricks/cleaned_onion_analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..74cb8668496bf26133f8726267376d99f5fd0af4 GIT binary patch literal 225297 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

W(e~) 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ξu9U@Dj^*c)r4Z>%Je82os)|3@ai<)wREugHfiC8YcauR%DS(3p;9<<5Tn-0>u1pmsXYPnvJMZ}^UxkLa%Afsy+cE`hfVSm@godw^krzvO0O z-XU5gMr2|Eo+H{WZ<~5uTz;=Xg;`pU7yq8STs4HIxqf_PrC5v)#VJq;da#|=A*-B= zoCkc@uC;J5G^+X1?vA2Avw7YO^p|f3MYK+iJBYJrZW#Wk)1afmR:C`T0tEgS99 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 literal 0 HcmV?d00001 diff --git a/docs/source/_static/tutorials/tips_and_tricks/cluster_population.png b/docs/source/_static/tutorials/tips_and_tricks/cluster_population.png new file mode 100644 index 0000000000000000000000000000000000000000..f9599ac7cb6880709f25b1fe9718200bc6b021bb GIT binary patch literal 127721 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 hpIhWV7DjsJYo)H5HoD&^fG literal 0 HcmV?d00001 diff --git a/docs/source/tutorials/tips_and_tricks.rst b/docs/source/tutorials/tips_and_tricks.rst new file mode 100644 index 00000000..1c58f62a --- /dev/null +++ b/docs/source/tutorials/tips_and_tricks.rst @@ -0,0 +1,219 @@ +Tips and Tricks +=============== + +Welcome to the Tips and Trick section of the dynsight platform. +Here we will show you additional hints that can help you when analyzing your data. + + +At the end of every section, you will find links to download the full ``python`` scripts +and its relevant input files. + +Cleaning cluster population +--------------------------- + +Sometimes, clusters obtained with Onion Clustering analysis can be very small. +To better interpret the results, it can be useful to remove those ones by assigning them to +the cluster of the unclassified particles. +This is achieved through the class, :class:`.data_processing.cleaning_cluster_population()`, which +assign the cluster under a certain population threshold to a specific cluster selected by the user. + +As an example, we consider the ouput of the analysis computed in the `spatial denoising tutorial <./spatial_denoising.html>`_. +Briefly, we consider the denoised ``TimeSOAP`` descriptor that can be ontained from: + +.. code-block:: python + + from pathlib import Path + from dynsight.trajectory import Trj + + files_path = Path("source/_static/simulations") + trj = Trj.init_from_xtc( + traj_file=files_path / "ice_water_ox.xtc", + topo_file=files_path / "ice_water_ox.gro", + ) + + _, tsoap = trj.get_timesoap( + r_cut=10, + n_max=8, + l_max=8, + n_jobs=4, # Adjust n_jobs according to your computer capabilities + ) + + sliced_trj = trj.with_slice(slice(0, -1, 1)) + sp_denoised_tsoap = tsoap.spatial_average( + trj=sliced_trj, + r_cut=10, + n_jobs=4, # Adjust n_jobs according to your computer capabilities + ) + + delta_t_list, n_clust, unclass_frac, labels = sp_denoised_tsoap.get_onion_analysis( + delta_t_min=2, + delta_t_num=20, + fig1_path=files_path / "denoised_onion_analysis.png", + fig2_path=files_path / "cluster_population.png", + ) + +.. testcode:: tips_and_tricks_test + :hide: + + from pathlib import Path + from dynsight.trajectory import Trj + + files_path = Path("source/_static/simulations") + trj = Trj.init_from_xtc( + traj_file=files_path / "ice_water_ox.xtc", + topo_file=files_path / "ice_water_ox.gro", + ) + + assert trj.n_atoms == 2048 + assert trj.n_frames == 1001 + +.. testcode:: tips_and_tricks_test + :hide: + + import numpy as np + + trj_test = trj.with_slice(slice(0, 2, 1)) + + expected_tests = Path("source/_static/tutorials/spatial_denoising/doctests") + + soap_test = trj_test.get_soap( + r_cut=10, + n_max=8, + l_max=8, + n_jobs=1, # Adjust n_jobs according to your computer capabilities + ) + + _, tsoap_test = trj.get_timesoap( + soap_insight=soap_test, + ) + + assert tsoap_test.meta["r_cut"]==10 + assert tsoap_test.meta["n_max"]==8 + assert tsoap_test.meta["l_max"]==8 + + reference_tsoap = np.load(expected_tests / "test_tsoap.npy") + assert np.allclose(tsoap_test.dataset, reference_tsoap, atol=1e-6) + + sliced_trj_test = trj.with_slice(slice(0, 1, 1)) + sp_denoised_tsoap_test = tsoap_test.spatial_average( + trj=sliced_trj_test, + r_cut=10, + n_jobs=1, + ) + + reference_denoised_tsoap = np.load(expected_tests / "test_denoised_tsoap.npy") + assert np.allclose(sp_denoised_tsoap_test.dataset, reference_denoised_tsoap, atol=1e-6) + +For further details users should refers to `spatial denoising tutorial <./spatial_denoising.html>`_. + +Figure `cluster_population.png` shows the population of every cluster, where blue refers to the unclassified fraction: + +.. image:: ../_static/tutorials/tips_and_tricks/cluster_population.png + :scale: 15% + :align: center + +Before cleaning the cluster we have to save the output from the Onion analysis in an array: + +.. code-block:: python + + import numpy as np + + onion_output = np.array([delta_t_list, n_clust, unclass_frac]).T + +The small clusters can be removed and assigned to the unclassified fraction using the +class :class:`.data_processing.cleaning_cluster_population()`: + +.. code-block:: python + + from dynsight.data_processing import cleaning_cluster_population + + cleaned_labels = cleaning_cluster_population(labels, threshold=0.05, assigned_env=-1) + +where `leaned_labels` has the same dimensions as `labels`. Now we can reproduce the plot with the number +of clusters and the unclassified fraction after re-organizing the data: + +.. code-block:: python + + import dynsight + + delta_t_list = onion_output[:, 0] #since unchanged, windows can be copied from above + + n_clust = np.zeros(delta_t_list.shape[0],dtype=np.int64) + unclass_frac = np.zeros(delta_t_list.shape[0]) + for i in range(delta_t_list.shape[0]): + n_clust[i] = np.unique(cleaned_labels[:, :, i]).size - 1 + unclass_frac[i] = np.sum(cleaned_labels[:, :, i] == -1) / np.size(cleaned_labels[:, :, i]) + + cleaned_onion_output = np.array([delta_t_list, n_clust, unclass_frac]).T + + dynsight.onion.plot_smooth.plot_time_res_analysis("cleaned_onion_analysis.png", cleaned_onion_output) + +.. testcode:: tips_and_tricks_test + :hide: + + from dynsight.data_processing import cleaning_cluster_population + + expected_tests = Path("../tests/data_processing/cluster/test_cluster") + + labels = np.zeros((4, 10, 3), dtype=int) + + labels[:, :, 0] = np.array( + [ + [0, 0, 0, 1, 1, 1, 2, 2, 2, 2], + [0, 0, 0, 1, 1, 1, 2, 2, 2, 2], + [0, 0, 0, 1, 1, 1, 2, 2, 2, 3], + [0, 0, 0, 1, 1, 1, 2, 2, 2, 3], + ] + ) + + labels[:, :, 1] = np.array( + [ + [0, 0, 0, 0, 0, 1, 1, 1, 1, 4], + [0, 0, 0, 0, 0, 1, 1, 1, 1, 4], + [0, 0, 0, 0, 0, 1, 1, 1, 4, 4], + [0, 0, 0, 0, 0, 1, 1, 1, 4, 4], + ] + ) + + labels[:, :, 2] = np.array( + [ + [0, 0, 9, 9, 0, 1, 1, 1, 1, 9], + [0, 0, 0, 9, 0, 1, 1, 1, 1, 9], + [0, 0, 0, 9, 0, 1, 1, 1, 1, 9], + [0, 9, 0, 0, 0, 1, 1, 1, 1, 9], + ] + ) + + test_clean_pop = cleaning_cluster_population( + labels, + threshold=0.05, + assigned_env=99, + ) + + exp_clean_pop = np.load(expected_tests / "c0_clean_pop_th5_ass99_exNone.npy") + assert np.array_equal(exp_clean_pop, test_clean_pop) + +On the left are reported the results from Onion clustering on the denoised time-series (`denoised_onion_analysis.png` +from `spatial denoising tutorial <./spatial_denoising.html>`_), while on the rigth is reported the figure +`cleaned_onion_analysis.png` + +.. image:: ../_static/tutorials/spatial_denoising/denoised_onion_analysis.png + :scale: 8% + :align: left + +.. image:: ../_static/tutorials/tips_and_tricks/cleaned_onion_analysis.png + :scale: 8% + :align: right + +.. raw:: html + +

+ +Full scripts and input files +---------------------------- + +.. raw:: html + + ⬇️ Download the .gro file
+ ⬇️ Download the .xtc file
+ ⬇️ Download Python Script diff --git a/docs/source/tutorials_menu.rst b/docs/source/tutorials_menu.rst index 2a55ce01..72631381 100644 --- a/docs/source/tutorials_menu.rst +++ b/docs/source/tutorials_menu.rst @@ -34,6 +34,18 @@ so stay tuned for future updates! .. rubric:: Spatial Denoising :class: tutorial-card-title + .. grid-item-card:: + :link: tutorials/tips_and_tricks + :link-type: doc + :class-card: tutorial-card + + .. image:: _static/tutorials/spatial_denoising/denoised_onion_analysis.png + :alt: Tips and Tricks + :class: tutorial-card-img + + .. rubric:: Tips and Tricks + :class: tutorial-card-title + .. grid-item-card:: :class-card: tutorial-card @@ -51,6 +63,7 @@ so stay tuned for future updates! Getting Started Spatial Denoising + Tips and Tricks Other example files -------------------