glasscut.storage package

Submodules

glasscut.storage.manager module

Storage management for dataset generation outputs.

class glasscut.storage.manager.StorageOrganizer(output_dir)[source]

Bases: object

Manage output directory layout and JSON metadata persistence.

Parameters:

output_dir (str | Path)

__init__(output_dir)[source]
Parameters:

output_dir (str | Path)

Return type:

None

init_dataset(dataset_id)[source]

Create dataset root directory.

Parameters:

dataset_id (str)

Return type:

Path

init_slide(dataset_id, slide_id)[source]

Create standard directories for one processed slide.

Parameters:
  • dataset_id (str)

  • slide_id (str)

Return type:

dict[str, Path]

save_dataset_metadata(dataset_id, metadata)[source]

Persist top-level metadata as dataset_id/metadata.json.

Parameters:
Return type:

Path

save_slide_metadata(dataset_id, slide_id, metadata)[source]

Persist per-slide metadata as slide_metadata.json.

Parameters:
Return type:

Path

save_processed_json(dataset_id, processed_slides)[source]

Persist processed slide IDs in PathoPatcher-style processed.json.

Parameters:
Return type:

Path

load_processed_json(dataset_id)[source]

Load processed slide IDs from processed.json.

Returns an empty list when the file does not exist.

Parameters:

dataset_id (str)

Return type:

list[str]

load_slide_metadata(dataset_id, slide_id)[source]

Load slide metadata from disk and reconstruct dataclasses.

Parameters:
  • dataset_id (str)

  • slide_id (str)

Return type:

SlideMetadata

glasscut.storage.structures module

Storage metadata models for generated datasets.

class glasscut.storage.structures.TileMetadata(tile_id, x, y, width, height, level, magnification, tissue_ratio, file_path)[source]

Bases: object

Metadata for a single extracted tile.

Parameters:
tile_id: str
x: int
y: int
width: int
height: int
level: int
magnification: float
tissue_ratio: float
file_path: str
__init__(tile_id, x, y, width, height, level, magnification, tissue_ratio, file_path)
Parameters:
Return type:

None

class glasscut.storage.structures.SlideMetadata(slide_id, slide_name, slide_path, total_tiles, dimensions, mpp, available_magnifications, tile_size, tiler_name, timestamp, tiles=<factory>)[source]

Bases: object

Metadata for a processed slide and all generated tiles.

Parameters:
slide_id: str
slide_name: str
slide_path: str
total_tiles: int
dimensions: tuple[int, int]
mpp: float
available_magnifications: list[float]
tile_size: tuple[int, int]
tiler_name: str
timestamp: str
tiles: list[TileMetadata]
__init__(slide_id, slide_name, slide_path, total_tiles, dimensions, mpp, available_magnifications, tile_size, tiler_name, timestamp, tiles=<factory>)
Parameters:
Return type:

None

class glasscut.storage.structures.DatasetMetadata(dataset_id, created_at, total_slides, total_tiles, config=<factory>, slides=<factory>)[source]

Bases: object

Top-level metadata for a generated dataset.

Parameters:
dataset_id: str
created_at: str
total_slides: int
total_tiles: int
config: dict[str, str | int | float | bool | None | list[str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]] | dict[str, str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]]]
slides: list[SlideMetadata]
__init__(dataset_id, created_at, total_slides, total_tiles, config=<factory>, slides=<factory>)
Parameters:
Return type:

None

glasscut.storage.structures.dataclass_to_dict(obj)[source]

Recursively convert dataclasses, tuples, and paths into JSON-safe objects.

Parameters:

obj (object)

Return type:

str | int | float | bool | None | list[str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]] | dict[str, str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]]

Module contents

Storage module for organizing generated datasets and metadata.

class glasscut.storage.DatasetMetadata(dataset_id, created_at, total_slides, total_tiles, config=<factory>, slides=<factory>)[source]

Bases: object

Top-level metadata for a generated dataset.

Parameters:
dataset_id: str
created_at: str
total_slides: int
total_tiles: int
config: dict[str, str | int | float | bool | None | list[str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]] | dict[str, str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]]]
slides: list[SlideMetadata]
__init__(dataset_id, created_at, total_slides, total_tiles, config=<factory>, slides=<factory>)
Parameters:
Return type:

None

class glasscut.storage.SlideMetadata(slide_id, slide_name, slide_path, total_tiles, dimensions, mpp, available_magnifications, tile_size, tiler_name, timestamp, tiles=<factory>)[source]

Bases: object

Metadata for a processed slide and all generated tiles.

Parameters:
slide_id: str
slide_name: str
slide_path: str
total_tiles: int
dimensions: tuple[int, int]
mpp: float
available_magnifications: list[float]
tile_size: tuple[int, int]
tiler_name: str
timestamp: str
tiles: list[TileMetadata]
__init__(slide_id, slide_name, slide_path, total_tiles, dimensions, mpp, available_magnifications, tile_size, tiler_name, timestamp, tiles=<factory>)
Parameters:
Return type:

None

class glasscut.storage.StorageOrganizer(output_dir)[source]

Bases: object

Manage output directory layout and JSON metadata persistence.

Parameters:

output_dir (str | Path)

__init__(output_dir)[source]
Parameters:

output_dir (str | Path)

Return type:

None

init_dataset(dataset_id)[source]

Create dataset root directory.

Parameters:

dataset_id (str)

Return type:

Path

init_slide(dataset_id, slide_id)[source]

Create standard directories for one processed slide.

Parameters:
  • dataset_id (str)

  • slide_id (str)

Return type:

dict[str, Path]

save_dataset_metadata(dataset_id, metadata)[source]

Persist top-level metadata as dataset_id/metadata.json.

Parameters:
Return type:

Path

save_slide_metadata(dataset_id, slide_id, metadata)[source]

Persist per-slide metadata as slide_metadata.json.

Parameters:
Return type:

Path

save_processed_json(dataset_id, processed_slides)[source]

Persist processed slide IDs in PathoPatcher-style processed.json.

Parameters:
Return type:

Path

load_processed_json(dataset_id)[source]

Load processed slide IDs from processed.json.

Returns an empty list when the file does not exist.

Parameters:

dataset_id (str)

Return type:

list[str]

load_slide_metadata(dataset_id, slide_id)[source]

Load slide metadata from disk and reconstruct dataclasses.

Parameters:
  • dataset_id (str)

  • slide_id (str)

Return type:

SlideMetadata

class glasscut.storage.TileMetadata(tile_id, x, y, width, height, level, magnification, tissue_ratio, file_path)[source]

Bases: object

Metadata for a single extracted tile.

Parameters:
tile_id: str
x: int
y: int
width: int
height: int
level: int
magnification: float
tissue_ratio: float
file_path: str
__init__(tile_id, x, y, width, height, level, magnification, tissue_ratio, file_path)
Parameters:
Return type:

None

glasscut.storage.dataclass_to_dict(obj)[source]

Recursively convert dataclasses, tuples, and paths into JSON-safe objects.

Parameters:

obj (object)

Return type:

str | int | float | bool | None | list[str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]] | dict[str, str | int | float | bool | None | list[JsonValue] | dict[str, JsonValue]]