From 32243b4798f752bdedb8a580d5299ca0adc054c6 Mon Sep 17 00:00:00 2001 From: mahdiall99 Date: Wed, 24 Aug 2022 19:41:41 -0400 Subject: [PATCH] Updated display methods --- MEDimage/MEDimage.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/MEDimage/MEDimage.py b/MEDimage/MEDimage.py index e5c99f4..67d636f 100644 --- a/MEDimage/MEDimage.py +++ b/MEDimage/MEDimage.py @@ -1142,11 +1142,12 @@ def get_indexes_by_roi_name(self, roi_name : str) -> np.ndarray: roi_volume[self.ROI.get_indexes(roi_name_key)] = 1 return roi_volume.reshape(self.volume.data.shape) - def display(self, _slice: int = None) -> None: + def display(self, _slice: int = None, roi: Union[str, int] = 0) -> None: """Displays slices from imaging data with the ROI contour in XY-Plane. Args: _slice (int, optional): Index of the slice you want to plot. + roi (Union[str, int], optional): ROI name or index. If not specified will use the first ROI. Returns: None. @@ -1157,7 +1158,7 @@ def display(self, _slice: int = None) -> None: i = np.arange(0, size_m[0]) j = np.arange(0, size_m[1]) k = np.arange(0, size_m[2]) - ind_mask = np.nonzero(self.get_roi_from_indexes(0)) + ind_mask = np.nonzero(self.get_roi_from_indexes(roi)) J, I, K = np.meshgrid(i, j, k, indexing='ij') I = I[ind_mask] J = J[ind_mask] @@ -1165,7 +1166,7 @@ def display(self, _slice: int = None) -> None: slices = np.unique(K) vol_data = self.volume.data.swapaxes(0, 1)[:, :, slices] - roi_data = self.get_roi_from_indexes(0).swapaxes(0, 1)[:, :, slices] + roi_data = self.get_roi_from_indexes(roi).swapaxes(0, 1)[:, :, slices] rows = int(np.round(np.sqrt(len(slices)))) columns = int(np.ceil(len(slices) / rows)) @@ -1217,11 +1218,12 @@ def display(self, _slice: int = None) -> None: plt.show() - def display_process(self, _slice: int = None) -> None: + def display_process(self, _slice: int = None, roi: Union[str, int] = 0) -> None: """Displays slices from imaging data with the ROI contour in XY-Plane. Args: _slice (int, optional): Index of the slice you want to plot. + roi (Union[str, int], optional): ROI name or index. If not specified will use the first ROI. Returns: None. @@ -1232,7 +1234,7 @@ def display_process(self, _slice: int = None) -> None: i = np.arange(0, size_m[0]) j = np.arange(0, size_m[1]) k = np.arange(0, size_m[2]) - ind_mask = np.nonzero(self.get_roi_from_indexes(0)) + ind_mask = np.nonzero(self.get_roi_from_indexes(roi)) J, I, K = np.meshgrid(j, i, k, indexing='ij') I = I[ind_mask] J = J[ind_mask] @@ -1240,7 +1242,7 @@ def display_process(self, _slice: int = None) -> None: slices = np.unique(K) vol_data = self.volume_process.data.swapaxes(0, 1)[:, :, slices] - roi_data = self.get_roi_from_indexes(0).swapaxes(0, 1)[:, :, slices] + roi_data = self.get_roi_from_indexes(roi).swapaxes(0, 1)[:, :, slices] rows = int(np.round(np.sqrt(len(slices)))) columns = int(np.ceil(len(slices) / rows))