Analysis using CompositionSpace#

[1]:
import matplotlib.pylab as plt

from compositionspace.segmentation import CompositionClustering
from compositionspace.postprocessing import DataPostprocess
from compositionspace.datautils import DataPreparation
[2]:
data = DataPreparation("experiment_params.yaml")
data.chunkify_apt_df()
data.get_voxels()
data.calculate_voxel_composition()
[3]:
data.chunk_files
[3]:
['output/file_R31_06365-v02_pos_large_chunks_arr.h5']
[4]:
data.voxel_files
[4]:
['output/file_R31_06365-v02_pos_small_chunks_arr.h5']
[5]:
comps = CompositionClustering("experiment_params.yaml")
[6]:
res = comps.get_PCA_cumsum(data.voxel_ratio_file, data.voxel_files[0])
2495
['0', '1', '2', '3', 'Total_no', 'vox']
../_images/example_full_workflow_6_1.png
[7]:
res = comps.get_bics_minimization(data.voxel_ratio_file, data.voxel_files[0])
../_images/example_full_workflow_7_1.png
[8]:
comps.get_composition_clusters(data.voxel_ratio_file, data.voxel_files[0])
[9]:
comps.voxel_centroid_output_file
[9]:
'vox_centroid_file.h5'
[10]:
comps.plot3d()
/home/menon/miniconda3/envs/compspace/lib/python3.10/site-packages/pyvista/jupyter/notebook.py:60: UserWarning: Failed to use notebook backend:

Install ``panel`` to use this feature

Falling back to a static output.
  warnings.warn(
../_images/example_full_workflow_10_1.png
../_images/example_full_workflow_10_2.png
[11]:
pdata = DataPostprocess("experiment_params.yaml")
[13]:
pdata.DBSCAN_clustering("output_vox_ratio_composition.h5", cluster_id = 0,
                        plot=True, plot3d=False, save=True)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In [13], line 1
----> 1 pdata.DBSCAN_clustering("output_vox_ratio_composition.h5", cluster_id = 0,
      2                         plot=True, plot3d=False, save=True)

File ~/miniconda3/envs/compspace/lib/python3.10/site-packages/compositionspace-0.0.3-py3.10.egg/compositionspace/postprocessing.py:93, in DataPostprocess.DBSCAN_clustering(self, voxel_centroid_phases_files, cluster_id, plot, plot3d, save)
     90 eps = self.params["ml_models"]["DBScan"]["eps"]
     91 min_samples = self.params["ml_models"]["DBScan"]["min_samples"]
---> 93 Df_centroids_no_files, Df_centroids, Phase_columns = self.get_post_centroids( voxel_centroid_phases_files ,cluster_id)
     95 db = DBSCAN(eps=eps, min_samples= min_samples).fit(Df_centroids_no_files.values) #eps=5., min_samples= 35
     96 core_samples_mask = np.zeros_like(db.labels_, dtype=bool)

File ~/miniconda3/envs/compspace/lib/python3.10/site-packages/compositionspace-0.0.3-py3.10.egg/compositionspace/postprocessing.py:47, in DataPostprocess.get_post_centroids(self, voxel_centroid_phases_files, cluster_id)
     45 group = cluster_id
     46 Phase_arr =  np.array(hdfr.get(f"{group}/{group}"))
---> 47 Phase_columns = list(list(hdfr.get(f"{group}").attrs.values())[0])
     48 Phase_cent_df =pd.DataFrame(data=Phase_arr, columns=Phase_columns)
     50 Df_centroids = Phase_cent_df.copy()

AttributeError: 'NoneType' object has no attribute 'attrs'
[ ]: