def _apply_mask(self, roi_mask):
        """Removes voxels outside the given mask or ROI set."""

        # TODO ensure compatible with input image
        #   - must have < N dim and same size in moving dims.
        rows_to_delete = list() # to allow for additional masks to be applied in the future
        if isinstance(roi_mask,
                      np.ndarray):  # not (roi_mask is None or roi_mask=='auto'):
            self._set_roi_mask(roi_mask)

            rows_roi = np.where(self.roi_mask.flatten() == cfg.background_value)

            # TODO below would cause differences in size/shape across mask and carpet!
            self.carpet = np.delete(self.carpet, rows_roi, axis=0)

        else:
            self.roi_mask = np.ones(self.carpet.shape)
def _apply_mask ( self , roi_mask ) : rows_to_delete = list ( ) if isinstance ( roi_mask , np . ndarray ) : self . _set_roi_mask ( roi_mask ) rows_roi = np . where ( self . roi_mask . flatten ( ) == cfg . background_value ) self . carpet = np . delete ( self . carpet , rows_roi , axis = 0 ) else : self . roi_mask = np . ones ( self . carpet . shape )
Removes voxels outside the given mask or ROI set.