dcnum.segm.segm_torch.segm_torch_sto

Classes

SegmentTorchSTO

Base segmenter class

Module Contents

class dcnum.segm.segm_torch.segm_torch_sto.SegmentTorchSTO(*, kwargs_mask: dict | None = None, debug: bool = False, **kwargs)[source]

Bases: dcnum.segm.segm_torch.segm_torch_base.TorchSegmenterBase, dcnum.segm.STOSegmenter

Base segmenter class

This is the base segmenter class for the multiprocessing operation segmenter segmenter_mpo.MPOSegmenter (multiple subprocesses are spawned and each of them works on a queue of images) and the single-threaded operation segmenter segmenter_sto.STOSegmenter (e.g. for batch segmentation on a GPU).

Parameters:
  • kwargs_mask (dict) – Keyword arguments for mask post-processing (see process_labels)

  • debug (bool) – Enable debugging mode (e.g. CPU segmenter runs in one thread)

  • kwargs – Additional, optional keyword arguments for segment_batch.

log_info(logger, gpu_id=None)[source]

Allow segmenter to write informative log messages

static is_available()[source]

Subclasses may override this method e.g. if dependencies exist

static _segment_in_batches(images, model, model_meta, device)[source]

Segment image data in batches

Return mask array with same shape as images.

static segment_algorithm(images, gpu_id: str | None = None, *, model_file: str | None = None)[source]
Parameters:
  • images (3d ndarray) – array of N event images of shape (N, H, W)

  • gpu_id (str) – optional argument specifying the GPU to use

  • model_file (str) – path to or name of a dcnum model file (.dcnm); if only a name is provided, then the “torch_model_files” directory paths are searched for the file name

Returns:

mask – mask images of shape (N, H, W)

Return type:

2d boolean or integer ndarray