def set_resize_parameters(
            self,
            degrad=6,
            labels=None,
            resize_mm=None,
            resize_voxel_number=None,

    ):
        """
        set_input_data() should be called before
        :param degrad:
        :param labels:
        :param resize_mm:
        :param resize_voxel_number:
        :return:
        """
        # from . import show_segmentation

        logger.debug("set_resize_parameters(\ndegrad={}, \nlabels={}\nresize_mm={}\nresize_voxel_number={}".format(
            degrad, labels, resize_mm, resize_voxel_number
        ))
        degrad = int(degrad)

        # import ipdb; ipdb.set_trace()
        # return voxelsize_mm, degrad
        self.degrad = degrad
        self.labels = labels
        segmentation = self._select_labels(self.segmentation, labels)

        if resize_voxel_number is not None:
            nvoxels = np.sum(segmentation > 0)
            volume = nvoxels * np.prod(self.voxelsize_mm)
            voxel_volume = volume / float(resize_voxel_number)
            resize_mm = voxel_volume ** (1.0 / 3.0)
        else:
            resize_mm = np.mean(self.voxelsize_mm)
        # self.working_voxelsize_mm = voxelsize_mm
        # self.working_segmentation = segmentation
        if np.sum(np.abs(self.resize_mm_1d - resize_mm)) != 0:
            # resize parameter changed
            self.resized_segmentation = None
            self.resized_binar_segmentation = None

        self.resize_mm_1d = resize_mm