Module qute.data.utils

Utilities.

Functions

def qute_to_msd_format(input_folder: Union[pathlib.Path, str], output_folder: Union[pathlib.Path, str], channel_names: tuple = ('fluorescence_microscopy',), label_names: tuple = ('background', 'cell', 'cell_border'), dataset_id: int = 1, dataset_name: Optional[str] = None, stem_name: str = 'demo_', images_suffix: str = '_0000', to_nii_gz: bool = False, test_perc: float = 0.2, num_folds: int = 5, force: bool = False, seed=None) ‑> tuple[bool, str]

Convert a qute dataset (with sub-folders "images" and "labels") to an MSD dataset.

Make sure the images and labels have ONE numerical index only and that each is unique.

Parameters

input_folder : Union[Path, str]
Full path of the dataset in qute format.
output_folder : Union[Path, str]
Full path of the nnUnetv2-compatible dataset. It is recommended to set this to $nnNet_raw.
channel_names : tuple
Name of the channels, e.g. ("fluorescence_microscopy", )
label_names : tuple
Name of the segmentation classes, e.g. ("background", "cell", "cell_border")
dataset_id : int
Integer ID of the dataset.
dataset_name : str
Name of the dataset. If not specified, it will be derived from input_folder.
stem_name : str
Stem name of all images. In contrast to the qute format, all training images, labels and test images must have the same stem name.
images_suffix : str (default is "_0000")
Numeric suffix (as 0-padded string and leading _) for the images (it won't be applied to the labels). For instance, imagesTr/demo_001_0000.tif is matched by labelsTr/demo_001.tif.
to_nii_gz : bool (default is False)
Set to True to convert the TIFF images to nii.gz; otherwise, the TIFF files are just copied over.
test_perc : float (default is 0.2)
Fraction of the images to be used for testing.
num_folds : int (default is 5)
Number of folds for k-fold cross-validation during training.
force : bool (default is False)
Set to True to delete and recreate if a converted Dataset already exists in the output_folder, otherwise abort.
seed : int (default is 2022)
Seed for the random number generator (for training/test splitting).

Returns

res, msg : tuple(bool, str)
res: True if the dataset was created, False otherwise msg: "" if successful; otherwise, contains error message.
def sample(image: numpy.ndarray, patch_size: tuple, y0: Optional[int] = None, x0: Optional[int] = None, seed: Optional[int] = None) ‑> tuple[numpy.ndarray, int, int]

Returns a (random) subset of given shape from the passed 2D image.

Parameters

image : numpy array
Original intensity image.
patch_size : tuple
Size (y, x) of the subset of the image to be randomly extracted.
y0 : Optional[int]
y component of the top left corner of the extracted region. If omitted (default), it will be randomly generated.
x0 : Optional[int]
x component of the top left corner of the extracted region. If omitted (default), it will be randomly generated.
seed : Optional[int]
Random generator seed to reproduce the sampling. Omit to create a new random sample every time.

Returns

result : tuple[np.ndarray, int, int]
Subset of the image of given size; y coordinate of the top-left corner of the extracted subset; x coordinate of the top-left corner of the extracted subset.