From 0f2083ac51d48f3b0110d9112b06a6c363915310 Mon Sep 17 00:00:00 2001 From: rhoadesScholar Date: Fri, 10 Jan 2025 17:04:54 +0000 Subject: [PATCH] deploy: e33353b8eb466c37955f990e914961f90b6c7e8f --- _modules/cellmap_data/dataloader.html | 24 +- _modules/cellmap_data/dataset.html | 80 +++--- _modules/cellmap_data/dataset_writer.html | 82 +++--- _modules/cellmap_data/datasplit.html | 50 ++-- _modules/cellmap_data/image.html | 130 +++++----- _modules/cellmap_data/multidataset.html | 44 ++-- _modules/cellmap_data/subdataset.html | 28 +- .../transforms/augment/gaussian_noise.html | 10 +- .../transforms/augment/nan_to_num.html | 12 +- .../transforms/augment/normalize.html | 12 +- .../transforms/augment/random_contrast.html | 14 +- .../transforms/augment/random_gamma.html | 16 +- .../transforms/targets/cellpose.html | 14 +- .../transforms/targets/distance.html | 24 +- _modules/cellmap_data/utils/dtype.html | 6 +- _modules/cellmap_data/utils/figs.html | 18 +- _modules/cellmap_data/utils/metadata.html | 14 +- _modules/index.html | 2 +- _static/pygments.css | 242 +++++++++--------- cellmap_data.CellMapDataLoader.html | 2 +- cellmap_data.CellMapDataSplit.html | 2 +- cellmap_data.CellMapDataset.html | 2 +- cellmap_data.CellMapImage.html | 2 +- cellmap_data.CellMapMultiDataset.html | 2 +- cellmap_data.CellMapSubset.html | 2 +- cellmap_data.dataloader.html | 2 +- cellmap_data.dataset.html | 2 +- cellmap_data.dataset_writer.html | 2 +- cellmap_data.datasplit.html | 2 +- cellmap_data.html | 2 +- cellmap_data.image.html | 2 +- cellmap_data.multidataset.html | 2 +- cellmap_data.subdataset.html | 2 +- ...ata.transforms.augment.gaussian_noise.html | 2 +- cellmap_data.transforms.augment.html | 2 +- ...ap_data.transforms.augment.nan_to_num.html | 2 +- ...map_data.transforms.augment.normalize.html | 2 +- ...ta.transforms.augment.random_contrast.html | 2 +- ..._data.transforms.augment.random_gamma.html | 2 +- cellmap_data.transforms.html | 2 +- cellmap_data.transforms.targets.cellpose.html | 2 +- cellmap_data.transforms.targets.distance.html | 2 +- cellmap_data.transforms.targets.html | 2 +- cellmap_data.utils.dtype.html | 2 +- cellmap_data.utils.figs.html | 2 +- cellmap_data.utils.html | 2 +- cellmap_data.utils.metadata.html | 2 +- genindex.html | 2 +- index.html | 2 +- modules.html | 2 +- py-modindex.html | 2 +- search.html | 2 +- 52 files changed, 444 insertions(+), 444 deletions(-) diff --git a/_modules/cellmap_data/dataloader.html b/_modules/cellmap_data/dataloader.html index 40a1027..8144d3e 100644 --- a/_modules/cellmap_data/dataloader.html +++ b/_modules/cellmap_data/dataloader.html @@ -29,7 +29,7 @@ - + @@ -250,17 +250,17 @@

Source code for cellmap_data.dataloader

-import torch
-from torch.utils.data import DataLoader, Sampler, Subset
-from .dataset import CellMapDataset
-from .multidataset import CellMapMultiDataset
-from .dataset_writer import CellMapDatasetWriter
-from typing import Callable, Iterable, Optional, Sequence
+import torch
+from torch.utils.data import DataLoader, Sampler, Subset
+from .dataset import CellMapDataset
+from .multidataset import CellMapMultiDataset
+from .dataset_writer import CellMapDatasetWriter
+from typing import Callable, Iterable, Optional, Sequence
 
 
 
[docs] -class CellMapDataLoader: +class CellMapDataLoader: """ Utility class to create a DataLoader for a CellMapDataset or CellMapMultiDataset. @@ -284,7 +284,7 @@

Source code for cellmap_data.dataloader

 
 
[docs] - def __init__( + def __init__( self, dataset: CellMapMultiDataset | CellMapDataset | Subset | CellMapDatasetWriter, classes: Iterable[str], @@ -358,14 +358,14 @@

Source code for cellmap_data.dataloader

 
 
[docs] - def __getitem__(self, indices: Sequence[int]) -> dict: + def __getitem__(self, indices: Sequence[int]) -> dict: """Get an item from the DataLoader.""" return self.collate_fn([self.loader.dataset[index] for index in indices])
[docs] - def refresh(self): + def refresh(self): """If the sampler is a Callable, refresh the DataLoader with the current sampler.""" kwargs = self.default_kwargs.copy() kwargs.update( @@ -390,7 +390,7 @@

Source code for cellmap_data.dataloader

 
 
[docs] - def collate_fn(self, batch: list[dict]) -> dict[str, torch.Tensor]: + def collate_fn(self, batch: list[dict]) -> dict[str, torch.Tensor]: """Combine a list of dictionaries from different sources into a single dictionary for output.""" outputs = {} for b in batch: diff --git a/_modules/cellmap_data/dataset.html b/_modules/cellmap_data/dataset.html index b3e44d0..5f7b521 100644 --- a/_modules/cellmap_data/dataset.html +++ b/_modules/cellmap_data/dataset.html @@ -29,7 +29,7 @@ - + @@ -251,21 +251,21 @@

Source code for cellmap_data.dataset

 # %%
-import os
-from typing import Any, Callable, Mapping, Sequence, Optional
-import numpy as np
-import torch
-from torch.utils.data import Dataset
-import tensorstore
-from .image import CellMapImage, EmptyImage
-import logging
+import os
+from typing import Any, Callable, Mapping, Sequence, Optional
+import numpy as np
+import torch
+from torch.utils.data import Dataset
+import tensorstore
+from .image import CellMapImage, EmptyImage
+import logging
 
 logger = logging.getLogger(__name__)
 
 
 
[docs] -def split_target_path(path: str) -> tuple[str, list[str]]: +def split_target_path(path: str) -> tuple[str, list[str]]: """Splits a path to groundtruth data into the main path string, and the classes supplied for it.""" try: path_prefix, path_rem = path.split("[") @@ -282,7 +282,7 @@

Source code for cellmap_data.dataset

 # %%
 
[docs] -class CellMapDataset(Dataset): +class CellMapDataset(Dataset): """ This subclasses PyTorch Dataset to load CellMap data for training. It maintains the same API as the Dataset class. Importantly, it maintains information about and handles for the sources for raw and groundtruth data. This information includes the path to the data, the classes for segmentation, and the arrays to input to the network and use as targets for the network predictions. The dataset constructs the sources for the raw and groundtruth data, and retrieves the data from the sources. The dataset also provides methods to get the number of pixels for each class in the ground truth data, normalized by the resolution. Additionally, random crops of the data can be generated for training, because the CellMapDataset maintains information about the extents of its source arrays. This object additionally combines images for different classes into a single output array, which is useful for training multiclass segmentation networks. @@ -352,7 +352,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def __init__( + def __init__( self, raw_path: str, # TODO: Switch "raw_path" to "input_path" target_path: str, @@ -451,7 +451,7 @@

Source code for cellmap_data.dataset

 
 
     @property
-    def center(self) -> Mapping[str, float] | None:
+    def center(self) -> Mapping[str, float] | None:
         """Returns the center of the dataset in world units."""
         try:
             return self._center
@@ -466,7 +466,7 @@ 

Source code for cellmap_data.dataset

             return self._center
 
     @property
-    def largest_voxel_sizes(self) -> Mapping[str, float]:
+    def largest_voxel_sizes(self) -> Mapping[str, float]:
         """Returns the largest voxel size of the dataset."""
         try:
             return self._largest_voxel_sizes
@@ -491,7 +491,7 @@ 

Source code for cellmap_data.dataset

             return self._largest_voxel_sizes
 
     @property
-    def bounding_box(self) -> Mapping[str, list[float]]:
+    def bounding_box(self) -> Mapping[str, list[float]]:
         """Returns the bounding box of the dataset."""
         try:
             return self._bounding_box
@@ -522,7 +522,7 @@ 

Source code for cellmap_data.dataset

             return self._bounding_box
 
     @property
-    def bounding_box_shape(self) -> Mapping[str, int]:
+    def bounding_box_shape(self) -> Mapping[str, int]:
         """Returns the shape of the bounding box of the dataset in voxels of the largest voxel size requested."""
         try:
             return self._bounding_box_shape
@@ -531,7 +531,7 @@ 

Source code for cellmap_data.dataset

             return self._bounding_box_shape
 
     @property
-    def sampling_box(self) -> Mapping[str, list[float]]:
+    def sampling_box(self) -> Mapping[str, list[float]]:
         """Returns the sampling box of the dataset (i.e. where centers can be drawn from and still have full samples drawn from within the bounding box)."""
         try:
             return self._sampling_box
@@ -562,7 +562,7 @@ 

Source code for cellmap_data.dataset

             return self._sampling_box
 
     @property
-    def sampling_box_shape(self) -> dict[str, int]:
+    def sampling_box_shape(self) -> dict[str, int]:
         """Returns the shape of the sampling box of the dataset in voxels of the largest voxel size requested."""
         try:
             return self._sampling_box_shape
@@ -571,14 +571,14 @@ 

Source code for cellmap_data.dataset

             if self.pad:
                 for c, size in self._sampling_box_shape.items():
                     if size <= 0:
-                        logger.warning(
+                        logger.debug(
                             f"Sampling box shape is <= 0 for axis {c} with size {size}. Setting to 1 and padding."
                         )
                         self._sampling_box_shape[c] = 1
             return self._sampling_box_shape
 
     @property
-    def size(self) -> int:
+    def size(self) -> int:
         """Returns the size of the dataset in voxels of the largest voxel size requested."""
         try:
             return self._size
@@ -589,7 +589,7 @@ 

Source code for cellmap_data.dataset

             return self._size
 
     @property
-    def class_counts(self) -> Mapping[str, Mapping[str, float]]:
+    def class_counts(self) -> Mapping[str, Mapping[str, float]]:
         """Returns the number of pixels for each class in the ground truth data, normalized by the resolution."""
         try:
             return self._class_counts
@@ -611,7 +611,7 @@ 

Source code for cellmap_data.dataset

             return self._class_counts
 
     @property
-    def class_weights(self) -> Mapping[str, float]:
+    def class_weights(self) -> Mapping[str, float]:
         """Returns the class weights for the dataset based on the number of samples in each class. Classes without any samples will have a weight of NaN."""
         try:
             return self._class_weights
@@ -629,7 +629,7 @@ 

Source code for cellmap_data.dataset

             return self._class_weights
 
     @property
-    def validation_indices(self) -> Sequence[int]:
+    def validation_indices(self) -> Sequence[int]:
         """Returns the indices of the dataset that will produce non-overlapping tiles for use in validation, based on the largest requested voxel size."""
         try:
             return self._validation_indices
@@ -641,7 +641,7 @@ 

Source code for cellmap_data.dataset

             return self._validation_indices
 
     @property
-    def device(self) -> torch.device:
+    def device(self) -> torch.device:
         """Returns the device for the dataset."""
         try:
             return self._device
@@ -657,7 +657,7 @@ 

Source code for cellmap_data.dataset

 
 
[docs] - def __len__(self) -> int: + def __len__(self) -> int: """Returns the length of the dataset, determined by the number of coordinates that could be sampled as the center for an array request.""" if not self.has_data and not self.force_has_data: return 0 @@ -671,7 +671,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def __getitem__(self, idx: int) -> dict[str, torch.Tensor]: + def __getitem__(self, idx: int) -> dict[str, torch.Tensor]: """Returns a crop of the input and target data as PyTorch tensors, corresponding to the coordinate of the unwrapped index.""" idx = np.array(idx) idx[idx < 0] = len(self) + idx[idx < 0] @@ -740,13 +740,13 @@

Source code for cellmap_data.dataset

         return outputs
- def __repr__(self) -> str: + def __repr__(self) -> str: """Returns a string representation of the dataset.""" return f"CellMapDataset(\n\tRaw path: {self.raw_path}\n\tGT path(s): {self.target_paths}\n\tClasses: {self.classes})"
[docs] - def get_empty_store( + def get_empty_store( self, array_info: Mapping[str, Sequence[int]], device: torch.device ) -> torch.Tensor: """Returns an empty store, based on the requested array.""" @@ -759,7 +759,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def get_target_array( + def get_target_array( self, array_info: Mapping[str, Sequence[int | float]] ) -> dict[str, CellMapImage | EmptyImage | Sequence[str]]: """Returns a target array source for the dataset. Creates a dictionary of image sources for each class in the dataset. For classes that are not present in the ground truth data, the data can be inferred from the other classes in the dataset. This is useful for training segmentation networks with mutually exclusive classes.""" @@ -790,7 +790,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def get_label_array( + def get_label_array( self, label: str, i: int, @@ -832,7 +832,7 @@

Source code for cellmap_data.dataset

         return array
- def _get_box_shape(self, source_box: Mapping[str, list[float]]) -> dict[str, int]: + def _get_box_shape(self, source_box: Mapping[str, list[float]]) -> dict[str, int]: """Returns the shape of the box in voxels of the largest voxel size requested.""" box_shape = {} for c, (start, stop) in source_box.items(): @@ -841,7 +841,7 @@

Source code for cellmap_data.dataset

             box_shape[c] = int(np.floor(size))
         return box_shape
 
-    def _get_box_intersection(
+    def _get_box_intersection(
         self,
         source_box: Mapping[str, list[float]] | None,
         current_box: Mapping[str, list[float]] | None,
@@ -858,7 +858,7 @@ 

Source code for cellmap_data.dataset

 
 
[docs] - def verify(self) -> bool: + def verify(self) -> bool: """Verifies that the dataset is valid to draw samples from.""" # TODO: make more robust try: @@ -870,7 +870,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def get_indices(self, chunk_size: Mapping[str, int]) -> Sequence[int]: + def get_indices(self, chunk_size: Mapping[str, int]) -> Sequence[int]: """Returns the indices of the dataset that will tile the dataset according to the chunk_size.""" # TODO: ADD TEST # Get padding per axis @@ -889,7 +889,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def to(self, device: str | torch.device) -> "CellMapDataset": + def to(self, device: str | torch.device) -> "CellMapDataset": """Sets the device for the dataset.""" self._device = torch.device(device) for source in list(self.input_sources.values()) + list( @@ -909,7 +909,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def generate_spatial_transforms(self) -> Optional[Mapping[str, Any]]: + def generate_spatial_transforms(self) -> Optional[Mapping[str, Any]]: """When 'self.is_train' is True, generates random spatial transforms for the dataset, based on the user specified transforms. Available spatial transforms: @@ -970,7 +970,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def set_raw_value_transforms(self, transforms: Callable) -> None: + def set_raw_value_transforms(self, transforms: Callable) -> None: """Sets the raw value transforms for the dataset.""" self.raw_value_transforms = transforms for source in self.input_sources.values(): @@ -979,7 +979,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def set_target_value_transforms(self, transforms: Callable) -> None: + def set_target_value_transforms(self, transforms: Callable) -> None: """Sets the ground truth value transforms for the dataset.""" self.target_value_transforms = transforms for sources in self.target_sources.values(): @@ -990,7 +990,7 @@

Source code for cellmap_data.dataset

 
 
[docs] - def reset_arrays(self, type: str = "target") -> None: + def reset_arrays(self, type: str = "target") -> None: """Sets the arrays for the dataset to return.""" if type.lower() == "input": self.input_sources = {} @@ -1017,7 +1017,7 @@

Source code for cellmap_data.dataset

 
[docs] @staticmethod - def empty() -> "CellMapDataset": + def empty() -> "CellMapDataset": """Creates an empty dataset.""" empty_dataset = CellMapDataset("", "", [], {}, {}) empty_dataset.classes = [] diff --git a/_modules/cellmap_data/dataset_writer.html b/_modules/cellmap_data/dataset_writer.html index 37b0613..80d143d 100644 --- a/_modules/cellmap_data/dataset_writer.html +++ b/_modules/cellmap_data/dataset_writer.html @@ -29,7 +29,7 @@ - + @@ -251,23 +251,23 @@

Source code for cellmap_data.dataset_writer

 # %%
-import os
-from typing import Callable, Mapping, Sequence, Optional
-import numpy as np
-import torch
-from torch.utils.data import Dataset, Subset, DataLoader
-import tensorstore
-from upath import UPath
+import os
+from typing import Callable, Mapping, Sequence, Optional
+import numpy as np
+import torch
+from torch.utils.data import Dataset, Subset, DataLoader
+import tensorstore
+from upath import UPath
 
-from .image import CellMapImage, ImageWriter
-import logging
+from .image import CellMapImage, ImageWriter
+import logging
 
 logger = logging.getLogger(__name__)
 
 
 
[docs] -def split_target_path(path: str) -> tuple[str, list[str]]: +def split_target_path(path: str) -> tuple[str, list[str]]: """Splits a path to groundtruth data into the main path string, and the classes supplied for it.""" try: path_prefix, path_rem = path.split("[") @@ -284,12 +284,12 @@

Source code for cellmap_data.dataset_writer

 # %%
 
[docs] -class CellMapDatasetWriter(Dataset): +class CellMapDatasetWriter(Dataset): """ This class is used to write a dataset to disk in a format that can be read by the CellMapDataset class. It is useful, for instance, for writing predictions from a model to disk. """ - def __init__( + def __init__( self, raw_path: str, # TODO: Switch "raw_path" to "input_path" target_path: str, @@ -373,7 +373,7 @@

Source code for cellmap_data.dataset_writer

         self.to(device)
 
     @property
-    def center(self) -> Mapping[str, float] | None:
+    def center(self) -> Mapping[str, float] | None:
         """Returns the center of the dataset in world units."""
         try:
             return self._center
@@ -388,7 +388,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._center
 
     @property
-    def smallest_voxel_sizes(self) -> Mapping[str, float]:
+    def smallest_voxel_sizes(self) -> Mapping[str, float]:
         """Returns the smallest voxel size of the dataset."""
         try:
             return self._smallest_voxel_sizes
@@ -413,7 +413,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._smallest_voxel_sizes
 
     @property
-    def smallest_target_array(self) -> Mapping[str, float]:
+    def smallest_target_array(self) -> Mapping[str, float]:
         """Returns the smallest target array in world units."""
         try:
             return self._smallest_target_array
@@ -427,7 +427,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._smallest_target_array
 
     @property
-    def bounding_box(self) -> Mapping[str, list[float]]:
+    def bounding_box(self) -> Mapping[str, list[float]]:
         """Returns the bounding box inclusive of all the target images."""
         try:
             return self._bounding_box
@@ -444,7 +444,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._bounding_box
 
     @property
-    def bounding_box_shape(self) -> Mapping[str, int]:
+    def bounding_box_shape(self) -> Mapping[str, int]:
         """Returns the shape of the bounding box of the dataset in voxels of the smallest voxel size requested."""
         try:
             return self._bounding_box_shape
@@ -453,7 +453,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._bounding_box_shape
 
     @property
-    def sampling_box(self) -> Mapping[str, list[float]]:
+    def sampling_box(self) -> Mapping[str, list[float]]:
         """Returns the sampling box of the dataset (i.e. where centers should be drawn from and to fully sample within the bounding box)."""
         try:
             return self._sampling_box
@@ -475,7 +475,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._sampling_box
 
     @property
-    def sampling_box_shape(self) -> dict[str, int]:
+    def sampling_box_shape(self) -> dict[str, int]:
         """Returns the shape of the sampling box of the dataset in voxels of the smallest voxel size requested."""
         try:
             return self._sampling_box_shape
@@ -483,14 +483,14 @@ 

Source code for cellmap_data.dataset_writer

             self._sampling_box_shape = self._get_box_shape(self.sampling_box)
             for c, size in self._sampling_box_shape.items():
                 if size <= 0:
-                    logger.warning(
+                    logger.debug(
                         f"Sampling box shape is <= 0 for axis {c} with size {size}. Setting to 1 and padding"
                     )
                     self._sampling_box_shape[c] = 1
             return self._sampling_box_shape
 
     @property
-    def size(self) -> int:
+    def size(self) -> int:
         """Returns the size of the dataset in voxels of the smallest voxel size requested."""
         try:
             return self._size
@@ -501,7 +501,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._size
 
     @property
-    def writer_indices(self) -> Sequence[int]:
+    def writer_indices(self) -> Sequence[int]:
         """Returns the indices of the dataset that will produce non-overlapping tiles for use in writer, based on the smallest requested target array."""
         try:
             return self._writer_indices
@@ -510,7 +510,7 @@ 

Source code for cellmap_data.dataset_writer

             return self._writer_indices
 
     @property
-    def blocks(self) -> Subset:
+    def blocks(self) -> Subset:
         """A subset of the validation datasets, tiling the validation datasets with non-overlapping blocks."""
         try:
             return self._blocks
@@ -523,7 +523,7 @@ 

Source code for cellmap_data.dataset_writer

 
 
[docs] - def loader( + def loader( self, batch_size: int = 1, num_workers: int = 0, @@ -541,7 +541,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def collate_fn(self, batch: list[dict]) -> dict[str, torch.Tensor]: + def collate_fn(self, batch: list[dict]) -> dict[str, torch.Tensor]: """Combine a list of dictionaries from different sources into a single dictionary for output.""" outputs = {} for b in batch: @@ -555,7 +555,7 @@

Source code for cellmap_data.dataset_writer

 
 
     @property
-    def device(self) -> torch.device:
+    def device(self) -> torch.device:
         """Returns the device for the dataset."""
         try:
             return self._device
@@ -571,7 +571,7 @@ 

Source code for cellmap_data.dataset_writer

 
 
[docs] - def __len__(self) -> int: + def __len__(self) -> int: """Returns the length of the dataset, determined by the number of coordinates that could be sampled as the center for an array request.""" try: return self._len @@ -583,7 +583,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def get_center(self, idx: int) -> dict[str, float]: + def get_center(self, idx: int) -> dict[str, float]: idx = np.array(idx) idx[idx < 0] = len(self) + idx[idx < 0] try: @@ -606,7 +606,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def __getitem__(self, idx: int) -> dict[str, torch.Tensor]: + def __getitem__(self, idx: int) -> dict[str, torch.Tensor]: """Returns a crop of the input and target data as PyTorch tensors, corresponding to the coordinate of the unwrapped index.""" self._current_idx = idx @@ -624,7 +624,7 @@

Source code for cellmap_data.dataset_writer

         return outputs
- def __setitem__( + def __setitem__( self, idx: int | torch.Tensor | np.ndarray | Sequence[int], arrays: dict[str, torch.Tensor | np.ndarray], @@ -660,13 +660,13 @@

Source code for cellmap_data.dataset_writer

                         self._current_center
                     ] = array[:, c, ...]
 
-    def __repr__(self) -> str:
+    def __repr__(self) -> str:
         """Returns a string representation of the dataset."""
         return f"CellMapDatasetWriter(\n\tRaw path: {self.raw_path}\n\tOutput path(s): {self.target_path}\n\tClasses: {self.classes})"
 
 
[docs] - def get_target_array_writer( + def get_target_array_writer( self, array_name: str, array_info: Mapping[str, Sequence[int | float]] ) -> dict[str, ImageWriter]: """Returns a dictionary of ImageWriter for the target images (per class) for a given array.""" @@ -681,7 +681,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def get_image_writer( + def get_image_writer( self, array_name: str, label: str, @@ -701,7 +701,7 @@

Source code for cellmap_data.dataset_writer

         )
- def _get_box_shape(self, source_box: Mapping[str, list[float]]) -> dict[str, int]: + def _get_box_shape(self, source_box: Mapping[str, list[float]]) -> dict[str, int]: """Returns the shape of the box in voxels of the smallest voxel size requested.""" box_shape = {} for c, (start, stop) in source_box.items(): @@ -710,7 +710,7 @@

Source code for cellmap_data.dataset_writer

             box_shape[c] = int(np.floor(size))
         return box_shape
 
-    def _get_box_union(
+    def _get_box_union(
         self,
         source_box: Mapping[str, list[float]] | None,
         current_box: Mapping[str, list[float]] | None,
@@ -725,7 +725,7 @@ 

Source code for cellmap_data.dataset_writer

                 current_box[c][1] = max(current_box[c][1], stop)
         return current_box
 
-    def _get_box_intersection(
+    def _get_box_intersection(
         self,
         source_box: Mapping[str, list[float]] | None,
         current_box: Mapping[str, list[float]] | None,
@@ -742,7 +742,7 @@ 

Source code for cellmap_data.dataset_writer

 
 
[docs] - def verify(self) -> bool: + def verify(self) -> bool: """Verifies that the dataset is valid to draw samples from.""" # TODO: make more robust try: @@ -754,7 +754,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def get_indices(self, chunk_size: Mapping[str, float]) -> Sequence[int]: + def get_indices(self, chunk_size: Mapping[str, float]) -> Sequence[int]: """Returns the indices of the dataset that will tile the dataset according to the chunk_size (supplied in world units).""" # TODO: ADD TEST @@ -785,7 +785,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def to(self, device: str | torch.device) -> "CellMapDatasetWriter": + def to(self, device: str | torch.device) -> "CellMapDatasetWriter": """Sets the device for the dataset.""" if device is None: device = self.device @@ -805,7 +805,7 @@

Source code for cellmap_data.dataset_writer

 
 
[docs] - def set_raw_value_transforms(self, transforms: Callable) -> None: + def set_raw_value_transforms(self, transforms: Callable) -> None: """Sets the raw value transforms for the dataset.""" self.raw_value_transforms = transforms for source in self.input_sources.values(): diff --git a/_modules/cellmap_data/datasplit.html b/_modules/cellmap_data/datasplit.html index c0ae0c5..a1502b5 100644 --- a/_modules/cellmap_data/datasplit.html +++ b/_modules/cellmap_data/datasplit.html @@ -29,7 +29,7 @@ - + @@ -250,22 +250,22 @@

Source code for cellmap_data.datasplit

-import csv
-import os
-from typing import Any, Callable, Mapping, Optional, Sequence
-import tensorstore
-import torch
-from .dataset import CellMapDataset
-from .multidataset import CellMapMultiDataset
-from .subdataset import CellMapSubset
-import logging
+import csv
+import os
+from typing import Any, Callable, Mapping, Optional, Sequence
+import tensorstore
+import torch
+from .dataset import CellMapDataset
+from .multidataset import CellMapMultiDataset
+from .subdataset import CellMapSubset
+import logging
 
 logger = logging.getLogger(__name__)
 
 
 
[docs] -class CellMapDataSplit: +class CellMapDataSplit: """ A class to split the data into training and validation datasets. @@ -341,7 +341,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def __init__( + def __init__( self, input_arrays: Mapping[str, Mapping[str, Sequence[int | float]]], target_arrays: Mapping[str, Mapping[str, Sequence[int | float]]], @@ -462,12 +462,12 @@

Source code for cellmap_data.datasplit

         logger.info("CellMapDataSplit initialized.")
- def __repr__(self) -> str: + def __repr__(self) -> str: """Returns the string representation of the class.""" return f"CellMapDataSplit(\n\tInput arrays: {self.input_arrays}\n\tTarget arrays:{self.target_arrays}\n\tClasses: {self.classes}\n\tDataset dict: {self.dataset_dict}\n\tSpatial transforms: {self.spatial_transforms}\n\tRaw value transforms: {self.train_raw_value_transforms}\n\tGT value transforms: {self.target_value_transforms}\n\tForce has data: {self.force_has_data}\n\tContext: {self.context})" @property - def train_datasets_combined(self) -> CellMapMultiDataset: + def train_datasets_combined(self) -> CellMapMultiDataset: """A multi-dataset from the combination of all training datasets.""" try: return self._train_datasets_combined @@ -485,7 +485,7 @@

Source code for cellmap_data.datasplit

             return self._train_datasets_combined
 
     @property
-    def validation_datasets_combined(self) -> CellMapMultiDataset:
+    def validation_datasets_combined(self) -> CellMapMultiDataset:
         """A multi-dataset from the combination of all validation datasets."""
         try:
             return self._validation_datasets_combined
@@ -507,7 +507,7 @@ 

Source code for cellmap_data.datasplit

             return self._validation_datasets_combined
 
     @property
-    def validation_blocks(self) -> CellMapSubset:
+    def validation_blocks(self) -> CellMapSubset:
         """A subset of the validation datasets, tiling the validation datasets with non-overlapping blocks."""
         try:
             return self._validation_blocks
@@ -519,7 +519,7 @@ 

Source code for cellmap_data.datasplit

             return self._validation_blocks
 
     @property
-    def class_counts(self) -> dict[str, dict[str, float]]:
+    def class_counts(self) -> dict[str, dict[str, float]]:
         """A dictionary containing the class counts for the training and validation datasets."""
         try:
             return self._class_counts
@@ -532,7 +532,7 @@ 

Source code for cellmap_data.datasplit

 
 
[docs] - def from_csv(self, csv_path) -> dict[str, Sequence[dict[str, str]]]: + def from_csv(self, csv_path) -> dict[str, Sequence[dict[str, str]]]: """Loads the dataset_dict data from a csv file.""" dataset_dict = {} with open(csv_path, "r") as f: @@ -552,7 +552,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def construct(self, dataset_dict) -> None: + def construct(self, dataset_dict) -> None: """Constructs the datasets from the dataset dictionary.""" self.train_datasets = [] self.validation_datasets = [] @@ -614,7 +614,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def verify_datasets(self) -> None: + def verify_datasets(self) -> None: """Verifies that the datasets have data, and removes ones that don't from ``self.train_datasets`` and ``self.validation_datasets``.""" if self.force_has_data: return @@ -633,7 +633,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def set_raw_value_transforms( + def set_raw_value_transforms( self, train_transforms: Optional[Callable] = None, val_transforms: Optional[Callable] = None, @@ -655,7 +655,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def set_target_value_transforms(self, transforms: Callable) -> None: + def set_target_value_transforms(self, transforms: Callable) -> None: """Sets the target value transforms for each dataset in the multi-datasets.""" for dataset in self.train_datasets: dataset.set_target_value_transforms(transforms) @@ -672,7 +672,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def set_spatial_transforms( + def set_spatial_transforms( self, train_transforms: Optional[dict[str, Any]] = None, val_transforms: Optional[dict[str, Any]] = None, @@ -694,7 +694,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def set_arrays( + def set_arrays( self, arrays: Mapping[str, Mapping[str, Sequence[int | float]]], type: str = "target", @@ -724,7 +724,7 @@

Source code for cellmap_data.datasplit

 
 
[docs] - def to(self, device: str | torch.device) -> None: + def to(self, device: str | torch.device) -> None: """Sets the device for the dataloaders.""" self.device = device for dataset in self.train_datasets: diff --git a/_modules/cellmap_data/image.html b/_modules/cellmap_data/image.html index 1591f1c..7a83bb6 100644 --- a/_modules/cellmap_data/image.html +++ b/_modules/cellmap_data/image.html @@ -29,7 +29,7 @@ - + @@ -250,33 +250,33 @@

Source code for cellmap_data.image

-import os
-from typing import Any, Callable, Mapping, Optional, Sequence
-
-import numpy as np
-import tensorstore
-import torch
-import xarray
-import xarray_tensorstore as xt
-import zarr
-from pydantic_ome_ngff.v04.axis import Axis
-from pydantic_ome_ngff.v04.multiscale import MultiscaleGroupAttrs, MultiscaleMetadata
-from pydantic_ome_ngff.v04.transform import (
+import os
+from typing import Any, Callable, Mapping, Optional, Sequence
+
+import numpy as np
+import tensorstore
+import torch
+import xarray
+import xarray_tensorstore as xt
+import zarr
+from pydantic_ome_ngff.v04.axis import Axis
+from pydantic_ome_ngff.v04.multiscale import MultiscaleGroupAttrs, MultiscaleMetadata
+from pydantic_ome_ngff.v04.transform import (
     Scale,
     Translation,
     VectorScale,
     VectorTranslation,
 )
-from scipy.spatial.transform import Rotation as rot
-from upath import UPath
-from xarray_ome_ngff.v04.multiscale import coords_from_transforms
+from scipy.spatial.transform import Rotation as rot
+from upath import UPath
+from xarray_ome_ngff.v04.multiscale import coords_from_transforms
 
-from cellmap_data.utils import create_multiscale_metadata
+from cellmap_data.utils import create_multiscale_metadata
 
 
 
[docs] -class CellMapImage: +class CellMapImage: """ A class for handling image data from a CellMap dataset. @@ -320,7 +320,7 @@

Source code for cellmap_data.image

 
 
[docs] - def __init__( + def __init__( self, path: str, target_class: str, @@ -384,7 +384,7 @@

Source code for cellmap_data.image

 
 
[docs] - def __getitem__(self, center: Mapping[str, float]) -> torch.Tensor: + def __getitem__(self, center: Mapping[str, float]) -> torch.Tensor: """Returns image data centered around the given point, based on the scale and shape of the target output image.""" if isinstance(list(center.values())[0], int | float): self._current_center = center @@ -423,12 +423,12 @@

Source code for cellmap_data.image

         return data.to(self.device)
- def __repr__(self) -> str: + def __repr__(self) -> str: """Returns a string representation of the CellMapImage object.""" return f"CellMapImage({self.array_path})" @property - def shape(self) -> Mapping[str, int]: + def shape(self) -> Mapping[str, int]: """Returns the shape of the image.""" try: return self._shape @@ -440,7 +440,7 @@

Source code for cellmap_data.image

             return self._shape
 
     @property
-    def center(self) -> Mapping[str, float]:
+    def center(self) -> Mapping[str, float]:
         """Returns the center of the image in world units."""
         try:
             return self._center
@@ -452,7 +452,7 @@ 

Source code for cellmap_data.image

             return self._center
 
     @property
-    def multiscale_attrs(self) -> MultiscaleMetadata:
+    def multiscale_attrs(self) -> MultiscaleMetadata:
         """Returns the multiscale metadata of the image."""
         try:
             return self._multiscale_attrs
@@ -463,7 +463,7 @@ 

Source code for cellmap_data.image

             return self._multiscale_attrs
 
     @property
-    def coordinateTransformations(
+    def coordinateTransformations(
         self,
     ) -> tuple[Scale] | tuple[Scale, Translation]:
         """Returns the coordinate transformations of the image, based on the multiscale metadata."""
@@ -481,7 +481,7 @@ 

Source code for cellmap_data.image

             return self._coordinateTransformations
 
     @property
-    def full_coords(self) -> tuple[xarray.DataArray, ...]:
+    def full_coords(self) -> tuple[xarray.DataArray, ...]:
         """Returns the full coordinates of the image's axes in world units."""
         try:
             return self._full_coords
@@ -495,7 +495,7 @@ 

Source code for cellmap_data.image

             return self._full_coords
 
     @property
-    def scale_level(self) -> str:
+    def scale_level(self) -> str:
         """Returns the multiscale level of the image."""
         try:
             return self._scale_level
@@ -504,7 +504,7 @@ 

Source code for cellmap_data.image

             return self._scale_level
 
     @property
-    def group(self) -> zarr.Group:
+    def group(self) -> zarr.Group:
         """Returns the zarr group object for the multiscale image."""
         try:
             return self._group
@@ -516,7 +516,7 @@ 

Source code for cellmap_data.image

             return self._group
 
     @property
-    def array_path(self) -> str:
+    def array_path(self) -> str:
         """Returns the path to the single-scale image array."""
         try:
             return self._array_path
@@ -525,7 +525,7 @@ 

Source code for cellmap_data.image

             return self._array_path
 
     @property
-    def array(self) -> xarray.DataArray:
+    def array(self) -> xarray.DataArray:
         """Returns the image data as an xarray DataArray."""
         try:
             return self._array
@@ -550,7 +550,7 @@ 

Source code for cellmap_data.image

             return self._array
 
     @property
-    def translation(self) -> Mapping[str, float]:
+    def translation(self) -> Mapping[str, float]:
         """Returns the translation of the image."""
         try:
             return self._translation
@@ -560,7 +560,7 @@ 

Source code for cellmap_data.image

             return self._translation
 
     @property
-    def bounding_box(self) -> Mapping[str, list[float]]:
+    def bounding_box(self) -> Mapping[str, list[float]]:
         """Returns the bounding box of the dataset in world units."""
         try:
             return self._bounding_box
@@ -571,7 +571,7 @@ 

Source code for cellmap_data.image

             return self._bounding_box
 
     @property
-    def sampling_box(self) -> Mapping[str, list[float]]:
+    def sampling_box(self) -> Mapping[str, list[float]]:
         """Returns the sampling box of the dataset (i.e. where centers can be drawn from and still have full samples drawn from within the bounding box), in world units."""
         try:
             return self._sampling_box
@@ -599,7 +599,7 @@ 

Source code for cellmap_data.image

             return self._sampling_box
 
     @property
-    def bg_count(self) -> float:
+    def bg_count(self) -> float:
         """Returns the number of background pixels in the ground truth data, normalized by the resolution."""
         try:
             return self._bg_count
@@ -609,7 +609,7 @@ 

Source code for cellmap_data.image

             return self._bg_count
 
     @property
-    def class_counts(self) -> float:
+    def class_counts(self) -> float:
         """Returns the number of pixels for the contained class in the ground truth data, normalized by the resolution."""
         try:
             return self._class_counts  # type: ignore
@@ -642,14 +642,14 @@ 

Source code for cellmap_data.image

 
 
[docs] - def to(self, device: str) -> None: + def to(self, device: str) -> None: """Sets what device returned image data will be loaded onto.""" self.device = device
[docs] - def find_level(self, target_scale: Mapping[str, float]) -> str: + def find_level(self, target_scale: Mapping[str, float]) -> str: """Finds the multiscale level that is closest to the target scale.""" # Get the order of axes in the image axes = [] @@ -676,7 +676,7 @@

Source code for cellmap_data.image

 
 
[docs] - def rotate_coords( + def rotate_coords( self, coords: Mapping[str, Sequence[float]], angles: Mapping[str, float] ) -> Mapping[str, tuple[Sequence[str], np.ndarray]] | Mapping[str, Sequence[float]]: """Rotates the given coordinates by the given angles.""" @@ -702,7 +702,7 @@

Source code for cellmap_data.image

         return self._coord_vector_to_grid_dict(rotated_coords, axes_lengths)
- def _coord_dict_to_vector( + def _coord_dict_to_vector( self, coords_dict: Mapping[str, Sequence[float]] ) -> tuple[np.ndarray, Mapping[str, int]]: """Converts a dictionary of coordinates to a vector, for use with rotate_coords.""" @@ -712,7 +712,7 @@

Source code for cellmap_data.image

         axes_lengths = {c: len(coords_dict[c]) for c in self.axes}
         return coord_vector, axes_lengths
 
-    def _coord_vector_to_grid_dict(
+    def _coord_vector_to_grid_dict(
         self, coords_vector: np.ndarray, axes_lengths: Mapping[str, int]
     ) -> Mapping[str, tuple[Sequence[str], np.ndarray]]:
         """Converts a vector of coordinates to a grid type dictionary."""
@@ -727,14 +727,14 @@ 

Source code for cellmap_data.image

 
 
[docs] - def set_spatial_transforms(self, transforms: Mapping[str, Any] | None) -> None: + def set_spatial_transforms(self, transforms: Mapping[str, Any] | None) -> None: """Sets spatial transformations for the image data, for setting global transforms at the 'dataset' level.""" self._current_spatial_transforms = transforms
[docs] - def apply_spatial_transforms(self, coords) -> torch.Tensor: + def apply_spatial_transforms(self, coords) -> torch.Tensor: """Applies spatial transformations to the given coordinates.""" # Apply spatial transformations to the coordinates # Because some spatial transformations require the image array, we need to apply them after pulling the data. This is done by separating the transforms into two groups @@ -773,7 +773,7 @@

Source code for cellmap_data.image

 
 
[docs] - def return_data( + def return_data( self, coords: ( Mapping[str, Sequence[float]] @@ -806,7 +806,7 @@

Source code for cellmap_data.image

 
 
[docs] -class EmptyImage: +class EmptyImage: """ A class for handling empty image data. @@ -836,7 +836,7 @@

Source code for cellmap_data.image

             class_counts (float): Returns zero.
     """
 
-    def __init__(
+    def __init__(
         self,
         target_class: str,
         target_scale: Sequence[float],
@@ -880,41 +880,41 @@ 

Source code for cellmap_data.image

 
 
[docs] - def __getitem__(self, center: Mapping[str, float]) -> torch.Tensor: + def __getitem__(self, center: Mapping[str, float]) -> torch.Tensor: """Returns the empty image data.""" return self.store
@property - def bounding_box(self) -> None: + def bounding_box(self) -> None: """Returns the bounding box of the dataset. Returns None for an EmptyImage object.""" return self._bounding_box @property - def sampling_box(self) -> None: + def sampling_box(self) -> None: """Returns the sampling box of the dataset (i.e. where centers can be drawn from and still have full samples drawn from within the bounding box). Returns None for an EmptyImage object.""" return self._bounding_box @property - def bg_count(self) -> float: + def bg_count(self) -> float: """Returns the number of background pixels in the ground truth data, normalized by the resolution. Returns zero for an EmptyImage object.""" return self._bg_count @property - def class_counts(self) -> float: + def class_counts(self) -> float: """Returns the number of pixels for the contained class in the ground truth data, normalized by the resolution. Returns zero for an EmptyImage object.""" return self._class_counts
[docs] - def to(self, device: str) -> None: + def to(self, device: str) -> None: """Moves the image data to the given device.""" self.store = self.store.to(device)
[docs] - def set_spatial_transforms(self, transforms: Mapping[str, Any] | None) -> None: + def set_spatial_transforms(self, transforms: Mapping[str, Any] | None) -> None: """Imitates the method in CellMapImage, but does nothing for an EmptyImage object.""" pass
@@ -923,7 +923,7 @@

Source code for cellmap_data.image

 
 
[docs] -class ImageWriter: +class ImageWriter: """ This class is used to write image data to a single-resolution zarr. @@ -950,7 +950,7 @@

Source code for cellmap_data.image

         sampling_box (Mapping[str, list[float]]): Returns the sampling box of the dataset in world units.
     """
 
-    def __init__(
+    def __init__(
         self,
         path: str | UPath,
         label_class: str,
@@ -1017,7 +1017,7 @@ 

Source code for cellmap_data.image

         }
 
     @property
-    def array(self) -> xarray.DataArray:
+    def array(self) -> xarray.DataArray:
         """Returns the image data as an xarray DataArray."""
         try:
             return self._array
@@ -1108,7 +1108,7 @@ 

Source code for cellmap_data.image

             return self._array
 
     @property
-    def chunk_shape(self) -> Sequence[int]:
+    def chunk_shape(self) -> Sequence[int]:
         """Returns the shape of the chunks for the image."""
         try:
             return self._chunk_shape
@@ -1117,7 +1117,7 @@ 

Source code for cellmap_data.image

             return self._chunk_shape
 
     @property
-    def world_shape(self) -> Mapping[str, float]:
+    def world_shape(self) -> Mapping[str, float]:
         """Returns the shape of the image in world units."""
         try:
             return self._world_shape
@@ -1128,7 +1128,7 @@ 

Source code for cellmap_data.image

             return self._world_shape
 
     @property
-    def shape(self) -> Mapping[str, int]:
+    def shape(self) -> Mapping[str, int]:
         """Returns the shape of the image in voxels."""
         try:
             return self._shape
@@ -1139,7 +1139,7 @@ 

Source code for cellmap_data.image

             return self._shape
 
     @property
-    def center(self) -> Mapping[str, float]:
+    def center(self) -> Mapping[str, float]:
         """Returns the center of the image in world units."""
         try:
             return self._center
@@ -1151,7 +1151,7 @@ 

Source code for cellmap_data.image

             return self._center
 
     @property
-    def offset(self) -> Mapping[str, float]:
+    def offset(self) -> Mapping[str, float]:
         """Returns the offset of the image in world units."""
         try:
             return self._offset
@@ -1160,7 +1160,7 @@ 

Source code for cellmap_data.image

             return self._offset
 
     @property
-    def full_coords(self) -> tuple[xarray.DataArray, ...]:
+    def full_coords(self) -> tuple[xarray.DataArray, ...]:
         """Returns the full coordinates of the image in world units."""
         try:
             return self._full_coords
@@ -1184,7 +1184,7 @@ 

Source code for cellmap_data.image

 
 
[docs] - def align_coords( + def align_coords( self, coords: Mapping[str, tuple[Sequence, np.ndarray]] ) -> Mapping[str, tuple[Sequence, np.ndarray]]: # TODO: Deprecate this function? @@ -1204,7 +1204,7 @@

Source code for cellmap_data.image

 
 
[docs] - def aligned_coords_from_center(self, center: Mapping[str, float]): + def aligned_coords_from_center(self, center: Mapping[str, float]): """Returns the aligned coordinates for the given center with linear sequential coordinates aligned to the image's reference frame.""" coords = {} for c in self.axes: @@ -1222,7 +1222,7 @@

Source code for cellmap_data.image

         return coords
- def __setitem__( + def __setitem__( self, coords: Mapping[str, float] | Mapping[str, tuple[Sequence, np.ndarray]], data: torch.Tensor | np.typing.ArrayLike | float | int, # type: ignore @@ -1263,7 +1263,7 @@

Source code for cellmap_data.image

                     this_data = data[i]
                 self[{c: coords[c][i] for c in self.axes}] = this_data
 
-    def __repr__(self) -> str:
+    def __repr__(self) -> str:
         """Returns a string representation of the ImageWriter object."""
         return f"ImageWriter({self.path}: {self.label_class} @ {list(self.scale.values())} {self.metadata['units']})"
diff --git a/_modules/cellmap_data/multidataset.html b/_modules/cellmap_data/multidataset.html index cfb0fdb..b7da057 100644 --- a/_modules/cellmap_data/multidataset.html +++ b/_modules/cellmap_data/multidataset.html @@ -29,7 +29,7 @@ - + @@ -250,17 +250,17 @@

Source code for cellmap_data.multidataset

-from typing import Any, Callable, Mapping, Optional, Sequence
-import numpy as np
-import torch
-from torch.utils.data import ConcatDataset, WeightedRandomSampler
+from typing import Any, Callable, Mapping, Optional, Sequence
+import numpy as np
+import torch
+from torch.utils.data import ConcatDataset, WeightedRandomSampler
 
-from .dataset import CellMapDataset
+from .dataset import CellMapDataset
 
 
 
[docs] -class CellMapMultiDataset(ConcatDataset): +class CellMapMultiDataset(ConcatDataset): """ This class is used to combine multiple datasets into a single dataset. It is a subclass of PyTorch's ConcatDataset. It maintains the same API as the ConcatDataset class. It retrieves raw and groundtruth data from multiple CellMapDataset objects. See the CellMapDataset class for more information on the dataset object. @@ -306,7 +306,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def __init__( + def __init__( self, classes: Sequence[str], input_arrays: Mapping[str, Mapping[str, Sequence[int | float]]], @@ -320,7 +320,7 @@

Source code for cellmap_data.multidataset

         self.datasets = datasets
- def __repr__(self) -> str: + def __repr__(self) -> str: out_string = f"CellMapMultiDataset([" for dataset in self.datasets: out_string += f"\n\t{dataset}," @@ -328,7 +328,7 @@

Source code for cellmap_data.multidataset

         return out_string
 
     @property
-    def class_counts(self) -> dict[str, float]:
+    def class_counts(self) -> dict[str, float]:
         """
         Returns the number of samples in each class for each dataset in the multi-dataset, as well as the total number of samples in each class.
         """
@@ -346,7 +346,7 @@ 

Source code for cellmap_data.multidataset

             return self._class_counts
 
     @property
-    def class_weights(self) -> Mapping[str, float]:
+    def class_weights(self) -> Mapping[str, float]:
         """
         Returns the class weights for the multi-dataset based on the number of samples in each class.
         """
@@ -366,7 +366,7 @@ 

Source code for cellmap_data.multidataset

             return self._class_weights
 
     @property
-    def dataset_weights(self) -> Mapping[CellMapDataset, float]:
+    def dataset_weights(self) -> Mapping[CellMapDataset, float]:
         """
         Returns the weights for each dataset in the multi-dataset based on the number of samples in each dataset.
         """
@@ -386,7 +386,7 @@ 

Source code for cellmap_data.multidataset

             return self._dataset_weights
 
     @property
-    def sample_weights(self) -> Sequence[float]:
+    def sample_weights(self) -> Sequence[float]:
         """
         Returns the weights for each sample in the multi-dataset based on the number of samples in each dataset.
         """
@@ -401,7 +401,7 @@ 

Source code for cellmap_data.multidataset

             return self._sample_weights
 
     @property
-    def validation_indices(self) -> Sequence[int]:
+    def validation_indices(self) -> Sequence[int]:
         """
         Returns the indices of the validation set for each dataset in the multi-dataset.
         """
@@ -426,7 +426,7 @@ 

Source code for cellmap_data.multidataset

 
 
[docs] - def to(self, device: str | torch.device) -> "CellMapMultiDataset": + def to(self, device: str | torch.device) -> "CellMapMultiDataset": for dataset in self.datasets: dataset.to(device) return self
@@ -434,7 +434,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def get_weighted_sampler( + def get_weighted_sampler( self, batch_size: int = 1, rng: Optional[torch.Generator] = None ) -> WeightedRandomSampler: return WeightedRandomSampler( @@ -444,7 +444,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def get_subset_random_sampler( + def get_subset_random_sampler( self, num_samples: int, weighted: bool = True, @@ -489,7 +489,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def get_indices(self, chunk_size: Mapping[str, int]) -> Sequence[int]: + def get_indices(self, chunk_size: Mapping[str, int]) -> Sequence[int]: """Returns the indices of the dataset that will tile all of the datasets according to the chunk_size.""" indices = [] for i, dataset in enumerate(self.datasets): @@ -504,7 +504,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def set_raw_value_transforms(self, transforms: Callable) -> None: + def set_raw_value_transforms(self, transforms: Callable) -> None: """Sets the raw value transforms for each dataset in the multi-dataset.""" for dataset in self.datasets: dataset.set_raw_value_transforms(transforms)
@@ -512,7 +512,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def set_target_value_transforms(self, transforms: Callable) -> None: + def set_target_value_transforms(self, transforms: Callable) -> None: """Sets the target value transforms for each dataset in the multi-dataset.""" for dataset in self.datasets: dataset.set_target_value_transforms(transforms)
@@ -520,7 +520,7 @@

Source code for cellmap_data.multidataset

 
 
[docs] - def set_spatial_transforms( + def set_spatial_transforms( self, spatial_transforms: Mapping[str, Any] | None ) -> None: """Sets the raw value transforms for each dataset in the training multi-dataset.""" @@ -531,7 +531,7 @@

Source code for cellmap_data.multidataset

 
[docs] @staticmethod - def empty() -> "CellMapMultiDataset": + def empty() -> "CellMapMultiDataset": """Creates an empty dataset.""" empty_dataset = CellMapMultiDataset([], {}, {}, [CellMapDataset.empty()]) empty_dataset.classes = [] diff --git a/_modules/cellmap_data/subdataset.html b/_modules/cellmap_data/subdataset.html index 61a8e9d..81ac671 100644 --- a/_modules/cellmap_data/subdataset.html +++ b/_modules/cellmap_data/subdataset.html @@ -29,7 +29,7 @@ - + @@ -250,23 +250,23 @@

Source code for cellmap_data.subdataset

-from typing import Callable, Sequence
-from torch.utils.data import Subset
-from .dataset import CellMapDataset
+from typing import Callable, Sequence
+from torch.utils.data import Subset
+from .dataset import CellMapDataset
 
-from .multidataset import CellMapMultiDataset
+from .multidataset import CellMapMultiDataset
 
 
 
[docs] -class CellMapSubset(Subset): +class CellMapSubset(Subset): """ This subclasses PyTorch Subset to wrap a CellMapDataset or CellMapMultiDataset object under a common API, which can be used for dataloading. It maintains the same API as the Subset class. It retrieves raw and groundtruth data from a CellMapDataset or CellMapMultiDataset object. """
[docs] - def __init__( + def __init__( self, dataset: CellMapDataset | CellMapMultiDataset, indices: Sequence[int], @@ -282,28 +282,28 @@

Source code for cellmap_data.subdataset

 
 
     @property
-    def classes(self) -> Sequence[str]:
+    def classes(self) -> Sequence[str]:
         """The classes in the dataset."""
         return self.dataset.classes
 
     @property
-    def class_counts(self) -> dict[str, float]:
+    def class_counts(self) -> dict[str, float]:
         """The number of samples in each class in the dataset normalized by resolution."""
         return self.dataset.class_counts
 
     @property
-    def class_weights(self) -> dict[str, float]:
+    def class_weights(self) -> dict[str, float]:
         """The class weights for the dataset based on the number of samples in each class."""
         return self.dataset.class_weights
 
     @property
-    def validation_indices(self) -> Sequence[int]:
+    def validation_indices(self) -> Sequence[int]:
         """The indices of the validation set."""
         return self.dataset.validation_indices
 
 
[docs] - def to(self, device) -> "CellMapSubset": + def to(self, device) -> "CellMapSubset": """Move the dataset to the specified device.""" self.dataset.to(device) return self
@@ -311,14 +311,14 @@

Source code for cellmap_data.subdataset

 
 
[docs] - def set_raw_value_transforms(self, transforms: Callable) -> None: + def set_raw_value_transforms(self, transforms: Callable) -> None: """Sets the raw value transforms for the subset dataset.""" self.dataset.set_raw_value_transforms(transforms)
[docs] - def set_target_value_transforms(self, transforms: Callable) -> None: + def set_target_value_transforms(self, transforms: Callable) -> None: """Sets the target value transforms for the subset dataset.""" self.dataset.set_target_value_transforms(transforms)
diff --git a/_modules/cellmap_data/transforms/augment/gaussian_noise.html b/_modules/cellmap_data/transforms/augment/gaussian_noise.html index 0ac25f5..ca5df41 100644 --- a/_modules/cellmap_data/transforms/augment/gaussian_noise.html +++ b/_modules/cellmap_data/transforms/augment/gaussian_noise.html @@ -29,7 +29,7 @@ - + @@ -250,12 +250,12 @@

Source code for cellmap_data.transforms.augment.gaussian_noise

-import torch
+import torch
 
 
 
[docs] -class GaussianNoise(torch.nn.Module): +class GaussianNoise(torch.nn.Module): """ Add Gaussian noise to the input. Subclasses torch.nn.Module. @@ -267,7 +267,7 @@

Source code for cellmap_data.transforms.augment.gaussian_noise

forward: Forward pass. """ - def __init__(self, mean: float = 0.0, std: float = 1.0) -> None: + def __init__(self, mean: float = 0.0, std: float = 1.0) -> None: """ Initialize the Gaussian noise. @@ -281,7 +281,7 @@

Source code for cellmap_data.transforms.augment.gaussian_noise

[docs] - def forward(self, x: torch.Tensor) -> torch.Tensor: + def forward(self, x: torch.Tensor) -> torch.Tensor: """Forward pass.""" noise = torch.normal(mean=self.mean, std=self.std, size=x.size()) return x + noise.to(x.device)
diff --git a/_modules/cellmap_data/transforms/augment/nan_to_num.html b/_modules/cellmap_data/transforms/augment/nan_to_num.html index bad0375..c310e1c 100644 --- a/_modules/cellmap_data/transforms/augment/nan_to_num.html +++ b/_modules/cellmap_data/transforms/augment/nan_to_num.html @@ -29,7 +29,7 @@ - + @@ -250,13 +250,13 @@

Source code for cellmap_data.transforms.augment.nan_to_num

-from typing import Any, Dict
-import torchvision.transforms.v2 as T
+from typing import Any, Dict
+import torchvision.transforms.v2 as T
 
 
 
[docs] -class NaNtoNum(T.Transform): +class NaNtoNum(T.Transform): """Replace NaNs with zeros in the input tensor. Subclasses torchvision.transforms.Transform. Attributes: @@ -266,7 +266,7 @@

Source code for cellmap_data.transforms.augment.nan_to_num

_transform: Transform the input. """ - def __init__(self, params: Dict[str, Any]) -> None: + def __init__(self, params: Dict[str, Any]) -> None: """Initialize the NaN to number transformation. Args: @@ -275,7 +275,7 @@

Source code for cellmap_data.transforms.augment.nan_to_num

super().__init__() self.params = params - def _transform(self, x: Any, params: Dict[str, Any]) -> Any: + def _transform(self, x: Any, params: Dict[str, Any]) -> Any: """Transform the input.""" return x.nan_to_num(**self.params)
diff --git a/_modules/cellmap_data/transforms/augment/normalize.html b/_modules/cellmap_data/transforms/augment/normalize.html index 25da4ec..127826a 100644 --- a/_modules/cellmap_data/transforms/augment/normalize.html +++ b/_modules/cellmap_data/transforms/augment/normalize.html @@ -29,7 +29,7 @@ - + @@ -250,24 +250,24 @@

Source code for cellmap_data.transforms.augment.normalize

-from typing import Any, Dict
-import torchvision.transforms.v2 as T
+from typing import Any, Dict
+import torchvision.transforms.v2 as T
 
 
 
[docs] -class Normalize(T.Transform): +class Normalize(T.Transform): """Normalize the input tensor. Subclasses torchvision.transforms.Transform. Methods: _transform: Transform the input. """ - def __init__(self) -> None: + def __init__(self) -> None: """Initialize the normalization transformation.""" super().__init__() - def _transform(self, x: Any, params: Dict[str, Any]) -> Any: + def _transform(self, x: Any, params: Dict[str, Any]) -> Any: """Transform the input.""" min_val = x.nan_to_num().min() diff = x.nan_to_num().max() - min_val diff --git a/_modules/cellmap_data/transforms/augment/random_contrast.html b/_modules/cellmap_data/transforms/augment/random_contrast.html index 74961dd..5d210e1 100644 --- a/_modules/cellmap_data/transforms/augment/random_contrast.html +++ b/_modules/cellmap_data/transforms/augment/random_contrast.html @@ -29,7 +29,7 @@ - + @@ -250,14 +250,14 @@

Source code for cellmap_data.transforms.augment.random_contrast

-from typing import Sequence
-import torch
-from cellmap_data.utils import torch_max_value
+from typing import Sequence
+import torch
+from cellmap_data.utils import torch_max_value
 
 
 
[docs] -class RandomContrast(torch.nn.Module): +class RandomContrast(torch.nn.Module): """ Randomly change the contrast of the input. @@ -268,7 +268,7 @@

Source code for cellmap_data.transforms.augment.random_contrast

forward: Forward pass. """ - def __init__(self, contrast_range: Sequence[float] = (0.5, 1.5)) -> None: + def __init__(self, contrast_range: Sequence[float] = (0.5, 1.5)) -> None: """ Initialize the random contrast. @@ -280,7 +280,7 @@

Source code for cellmap_data.transforms.augment.random_contrast

[docs] - def forward(self, x: torch.Tensor) -> torch.Tensor: + def forward(self, x: torch.Tensor) -> torch.Tensor: """Forward pass.""" ratio = float( torch.rand(1) * (self.contrast_range[1] - self.contrast_range[0]) diff --git a/_modules/cellmap_data/transforms/augment/random_gamma.html b/_modules/cellmap_data/transforms/augment/random_gamma.html index c584fef..c3c0486 100644 --- a/_modules/cellmap_data/transforms/augment/random_gamma.html +++ b/_modules/cellmap_data/transforms/augment/random_gamma.html @@ -29,7 +29,7 @@ - + @@ -250,18 +250,18 @@

Source code for cellmap_data.transforms.augment.random_gamma

-from typing import Sequence
-import torch
-from torchvision.transforms.v2 import ToDtype
+from typing import Sequence
+import torch
+from torchvision.transforms.v2 import ToDtype
 
-import logging
+import logging
 
 logger = logging.getLogger(__name__)
 
 
 
[docs] -class RandomGamma(torch.nn.Module): +class RandomGamma(torch.nn.Module): """ Apply a random gamma augmentation to the input. @@ -272,7 +272,7 @@

Source code for cellmap_data.transforms.augment.random_gamma

forward: Forward pass. """ - def __init__(self, gamma_range: Sequence[float] = (0.5, 1.5)) -> None: + def __init__(self, gamma_range: Sequence[float] = (0.5, 1.5)) -> None: """ Initialize the random gamma augmentation. @@ -284,7 +284,7 @@

Source code for cellmap_data.transforms.augment.random_gamma

[docs] - def forward(self, x: torch.Tensor) -> torch.Tensor: + def forward(self, x: torch.Tensor) -> torch.Tensor: """Forward pass.""" gamma = torch.as_tensor( float( diff --git a/_modules/cellmap_data/transforms/targets/cellpose.html b/_modules/cellmap_data/transforms/targets/cellpose.html index 77122de..dba9a40 100644 --- a/_modules/cellmap_data/transforms/targets/cellpose.html +++ b/_modules/cellmap_data/transforms/targets/cellpose.html @@ -29,7 +29,7 @@ - + @@ -250,14 +250,14 @@

Source code for cellmap_data.transforms.targets.cellpose

-from cellpose.dynamics import masks_to_flows_gpu_3d, masks_to_flows
-from cellpose.dynamics import masks_to_flows_gpu as masks_to_flows_gpu_2d
-import torch
+from cellpose.dynamics import masks_to_flows_gpu_3d, masks_to_flows
+from cellpose.dynamics import masks_to_flows_gpu as masks_to_flows_gpu_2d
+import torch
 
 
 
[docs] -class CellposeFlow: +class CellposeFlow: """ Cellpose flow transform. @@ -267,7 +267,7 @@

Source code for cellmap_data.transforms.targets.cellpose

(use GPU if available, else CPU). """ - def __init__(self, ndim: int, device: str | None = None) -> None: + def __init__(self, ndim: int, device: str | None = None) -> None: UserWarning("This is still in development and may not work as expected") self.ndim = ndim if device is None: @@ -290,7 +290,7 @@

Source code for cellmap_data.transforms.targets.cellpose

self.flows_func = flows_func self.device = _device - def __call__(self, masks: torch.Tensor) -> torch.Tensor: + def __call__(self, masks: torch.Tensor) -> torch.Tensor: # flows, _ = masks_to_flows( # (masks > 0).squeeze().numpy().astype(int), device=self.device # ) diff --git a/_modules/cellmap_data/transforms/targets/distance.html b/_modules/cellmap_data/transforms/targets/distance.html index 39e42f3..96d7c1d 100644 --- a/_modules/cellmap_data/transforms/targets/distance.html +++ b/_modules/cellmap_data/transforms/targets/distance.html @@ -29,7 +29,7 @@ - + @@ -251,21 +251,21 @@

Source code for cellmap_data.transforms.targets.distance

 # from py_distance_transforms import transform_cuda, transform
-import torch
+import torch
 
-from scipy.ndimage import distance_transform_edt as edt
+from scipy.ndimage import distance_transform_edt as edt
 
 
 
[docs] -def transform(x: torch.Tensor) -> torch.Tensor: +def transform(x: torch.Tensor) -> torch.Tensor: return torch.tensor(edt(x.cpu().numpy())).to(x.device)
[docs] -class DistanceTransform(torch.nn.Module): +class DistanceTransform(torch.nn.Module): """ Compute the distance transform of the input. @@ -278,7 +278,7 @@

Source code for cellmap_data.transforms.targets.distance

forward: Forward pass. """ - def __init__(self, use_cuda: bool = False, clip=[-torch.inf, torch.inf]) -> None: + def __init__(self, use_cuda: bool = False, clip=[-torch.inf, torch.inf]) -> None: """ Initialize the distance transform. @@ -298,7 +298,7 @@

Source code for cellmap_data.transforms.targets.distance

"CUDA is not supported yet because testing did not return expected results." ) - def _transform(self, x: torch.Tensor) -> torch.Tensor: + def _transform(self, x: torch.Tensor) -> torch.Tensor: """Transform the input.""" if self.use_cuda and x.device.type == "cuda": raise NotImplementedError( @@ -310,7 +310,7 @@

Source code for cellmap_data.transforms.targets.distance

[docs] - def forward(self, x: torch.Tensor) -> torch.Tensor: + def forward(self, x: torch.Tensor) -> torch.Tensor: """Forward pass.""" # TODO: Need to figure out how to prevent having inaccurate distance values at the edges --> precompute # distance = self._transform(x.nan_to_num(0)) @@ -324,7 +324,7 @@

Source code for cellmap_data.transforms.targets.distance

[docs] -class SignedDistanceTransform(torch.nn.Module): +class SignedDistanceTransform(torch.nn.Module): """ Compute the signed distance transform of the input - positive within objects and negative outside. @@ -337,7 +337,7 @@

Source code for cellmap_data.transforms.targets.distance

forward: Forward pass. """ - def __init__(self, use_cuda: bool = False, clip=[-torch.inf, torch.inf]) -> None: + def __init__(self, use_cuda: bool = False, clip=[-torch.inf, torch.inf]) -> None: """ Initialize the signed distance transform. @@ -357,7 +357,7 @@

Source code for cellmap_data.transforms.targets.distance

"CUDA is not supported yet because testing did not return expected results." ) - def _transform(self, x: torch.Tensor) -> torch.Tensor: + def _transform(self, x: torch.Tensor) -> torch.Tensor: """Transform the input.""" if self.use_cuda and x.device.type == "cuda": raise NotImplementedError( @@ -373,7 +373,7 @@

Source code for cellmap_data.transforms.targets.distance

[docs] - def forward(self, x: torch.Tensor) -> torch.Tensor: + def forward(self, x: torch.Tensor) -> torch.Tensor: """Forward pass.""" # TODO: Need to figure out how to prevent having inaccurate distance values at the edges --> precompute # distance = self._transform(x.nan_to_num(0)) diff --git a/_modules/cellmap_data/utils/dtype.html b/_modules/cellmap_data/utils/dtype.html index 2131bae..4b8e805 100644 --- a/_modules/cellmap_data/utils/dtype.html +++ b/_modules/cellmap_data/utils/dtype.html @@ -29,7 +29,7 @@ - + @@ -250,12 +250,12 @@

Source code for cellmap_data.utils.dtype

-import torch
+import torch
 
 
 
[docs] -def torch_max_value(dtype: torch.dtype) -> int: +def torch_max_value(dtype: torch.dtype) -> int: """ Get the maximum value for a given torch dtype. diff --git a/_modules/cellmap_data/utils/figs.html b/_modules/cellmap_data/utils/figs.html index d65360c..cd104f7 100644 --- a/_modules/cellmap_data/utils/figs.html +++ b/_modules/cellmap_data/utils/figs.html @@ -29,7 +29,7 @@ - + @@ -250,16 +250,16 @@

Source code for cellmap_data.utils.figs

-import io
-from typing import Optional, Sequence
-import matplotlib.pyplot as plt
-import numpy as np
-import torch
+import io
+from typing import Optional, Sequence
+import matplotlib.pyplot as plt
+import numpy as np
+import torch
 
 
 
[docs] -def get_image_grid( +def get_image_grid( input_data: torch.Tensor, target_data: torch.Tensor, outputs: torch.Tensor, @@ -339,7 +339,7 @@

Source code for cellmap_data.utils.figs

 
 
[docs] -def get_image_grid_numpy( +def get_image_grid_numpy( input_data: torch.Tensor, target_data: torch.Tensor, outputs: torch.Tensor, @@ -392,7 +392,7 @@

Source code for cellmap_data.utils.figs

 
 
[docs] -def get_image_dict( +def get_image_dict( input_data: torch.Tensor, target_data: torch.Tensor, outputs: torch.Tensor, diff --git a/_modules/cellmap_data/utils/metadata.html b/_modules/cellmap_data/utils/metadata.html index 93be15c..e655a03 100644 --- a/_modules/cellmap_data/utils/metadata.html +++ b/_modules/cellmap_data/utils/metadata.html @@ -29,7 +29,7 @@ - + @@ -250,13 +250,13 @@

Source code for cellmap_data.utils.metadata

-import json
-from typing import Optional
+import json
+from typing import Optional
 
 
 
[docs] -def generate_base_multiscales_metadata( +def generate_base_multiscales_metadata( ds_name: str, scale_level: int, voxel_size: list, @@ -292,7 +292,7 @@

Source code for cellmap_data.utils.metadata

 
 
[docs] -def add_multiscale_metadata_levels(multsc, base_scale_level, levels_to_add): +def add_multiscale_metadata_levels(multsc, base_scale_level, levels_to_add): # store original array in a new .zarr file as an arr_name scale z_attrs = multsc # print(z_attrs) @@ -328,7 +328,7 @@

Source code for cellmap_data.utils.metadata

 
 
[docs] -def create_multiscale_metadata( +def create_multiscale_metadata( ds_name: str, voxel_size: list, translation: list, @@ -355,7 +355,7 @@

Source code for cellmap_data.utils.metadata

 
 
[docs] -def write_metadata(z_attrs, out_path): +def write_metadata(z_attrs, out_path): with open(out_path, "w") as f: f.write(json.dumps(z_attrs, indent=4))
diff --git a/_modules/index.html b/_modules/index.html index 680fec6..5ae9809 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -29,7 +29,7 @@ - + diff --git a/_static/pygments.css b/_static/pygments.css index 012e6a0..d7dd577 100644 --- a/_static/pygments.css +++ b/_static/pygments.css @@ -6,11 +6,11 @@ html[data-theme="light"] .highlight span.linenos.special { color: #000000; backg html[data-theme="light"] .highlight .hll { background-color: #fae4c2 } html[data-theme="light"] .highlight { background: #fefefe; color: #080808 } html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */ -html[data-theme="light"] .highlight .err { color: #a12236 } /* Error */ -html[data-theme="light"] .highlight .k { color: #6730c5 } /* Keyword */ -html[data-theme="light"] .highlight .l { color: #7f4707 } /* Literal */ +html[data-theme="light"] .highlight .err { color: #A12236 } /* Error */ +html[data-theme="light"] .highlight .k { color: #6730C5 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #7F4707 } /* Literal */ html[data-theme="light"] .highlight .n { color: #080808 } /* Name */ -html[data-theme="light"] .highlight .o { color: #00622f } /* Operator */ +html[data-theme="light"] .highlight .o { color: #00622F } /* Operator */ html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */ html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */ html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */ @@ -18,135 +18,135 @@ html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */ html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */ html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */ html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */ -html[data-theme="light"] .highlight .gd { color: #005b82 } /* Generic.Deleted */ +html[data-theme="light"] .highlight .gd { color: #005B82 } /* Generic.Deleted */ html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ -html[data-theme="light"] .highlight .gh { color: #005b82 } /* Generic.Heading */ +html[data-theme="light"] .highlight .gh { color: #005B82 } /* Generic.Heading */ html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ -html[data-theme="light"] .highlight .gu { color: #005b82 } /* Generic.Subheading */ -html[data-theme="light"] .highlight .kc { color: #6730c5 } /* Keyword.Constant */ -html[data-theme="light"] .highlight .kd { color: #6730c5 } /* Keyword.Declaration */ -html[data-theme="light"] .highlight .kn { color: #6730c5 } /* Keyword.Namespace */ -html[data-theme="light"] .highlight .kp { color: #6730c5 } /* Keyword.Pseudo */ -html[data-theme="light"] .highlight .kr { color: #6730c5 } /* Keyword.Reserved */ -html[data-theme="light"] .highlight .kt { color: #7f4707 } /* Keyword.Type */ -html[data-theme="light"] .highlight .ld { color: #7f4707 } /* Literal.Date */ -html[data-theme="light"] .highlight .m { color: #7f4707 } /* Literal.Number */ -html[data-theme="light"] .highlight .s { color: #00622f } /* Literal.String */ +html[data-theme="light"] .highlight .gu { color: #005B82 } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #6730C5 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #6730C5 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #6730C5 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #6730C5 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #6730C5 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #7F4707 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #7F4707 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #7F4707 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #00622F } /* Literal.String */ html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */ -html[data-theme="light"] .highlight .nb { color: #7f4707 } /* Name.Builtin */ -html[data-theme="light"] .highlight .nc { color: #005b82 } /* Name.Class */ -html[data-theme="light"] .highlight .no { color: #005b82 } /* Name.Constant */ -html[data-theme="light"] .highlight .nd { color: #7f4707 } /* Name.Decorator */ -html[data-theme="light"] .highlight .ni { color: #00622f } /* Name.Entity */ -html[data-theme="light"] .highlight .ne { color: #6730c5 } /* Name.Exception */ -html[data-theme="light"] .highlight .nf { color: #005b82 } /* Name.Function */ -html[data-theme="light"] .highlight .nl { color: #7f4707 } /* Name.Label */ +html[data-theme="light"] .highlight .nb { color: #7F4707 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #005B82 } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #005B82 } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #7F4707 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #00622F } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #6730C5 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #005B82 } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #7F4707 } /* Name.Label */ html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */ html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */ -html[data-theme="light"] .highlight .py { color: #005b82 } /* Name.Property */ -html[data-theme="light"] .highlight .nt { color: #005b82 } /* Name.Tag */ -html[data-theme="light"] .highlight .nv { color: #a12236 } /* Name.Variable */ -html[data-theme="light"] .highlight .ow { color: #6730c5 } /* Operator.Word */ +html[data-theme="light"] .highlight .py { color: #005B82 } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #005B82 } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #A12236 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #6730C5 } /* Operator.Word */ html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */ html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */ -html[data-theme="light"] .highlight .mb { color: #7f4707 } /* Literal.Number.Bin */ -html[data-theme="light"] .highlight .mf { color: #7f4707 } /* Literal.Number.Float */ -html[data-theme="light"] .highlight .mh { color: #7f4707 } /* Literal.Number.Hex */ -html[data-theme="light"] .highlight .mi { color: #7f4707 } /* Literal.Number.Integer */ -html[data-theme="light"] .highlight .mo { color: #7f4707 } /* Literal.Number.Oct */ -html[data-theme="light"] .highlight .sa { color: #00622f } /* Literal.String.Affix */ -html[data-theme="light"] .highlight .sb { color: #00622f } /* Literal.String.Backtick */ -html[data-theme="light"] .highlight .sc { color: #00622f } /* Literal.String.Char */ -html[data-theme="light"] .highlight .dl { color: #00622f } /* Literal.String.Delimiter */ -html[data-theme="light"] .highlight .sd { color: #00622f } /* Literal.String.Doc */ -html[data-theme="light"] .highlight .s2 { color: #00622f } /* Literal.String.Double */ -html[data-theme="light"] .highlight .se { color: #00622f } /* Literal.String.Escape */ -html[data-theme="light"] .highlight .sh { color: #00622f } /* Literal.String.Heredoc */ -html[data-theme="light"] .highlight .si { color: #00622f } /* Literal.String.Interpol */ -html[data-theme="light"] .highlight .sx { color: #00622f } /* Literal.String.Other */ -html[data-theme="light"] .highlight .sr { color: #a12236 } /* Literal.String.Regex */ -html[data-theme="light"] .highlight .s1 { color: #00622f } /* Literal.String.Single */ -html[data-theme="light"] .highlight .ss { color: #005b82 } /* Literal.String.Symbol */ -html[data-theme="light"] .highlight .bp { color: #7f4707 } /* Name.Builtin.Pseudo */ -html[data-theme="light"] .highlight .fm { color: #005b82 } /* Name.Function.Magic */ -html[data-theme="light"] .highlight .vc { color: #a12236 } /* Name.Variable.Class */ -html[data-theme="light"] .highlight .vg { color: #a12236 } /* Name.Variable.Global */ -html[data-theme="light"] .highlight .vi { color: #a12236 } /* Name.Variable.Instance */ -html[data-theme="light"] .highlight .vm { color: #7f4707 } /* Name.Variable.Magic */ -html[data-theme="light"] .highlight .il { color: #7f4707 } /* Literal.Number.Integer.Long */ +html[data-theme="light"] .highlight .mb { color: #7F4707 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #7F4707 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #7F4707 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #7F4707 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #7F4707 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #00622F } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #00622F } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #00622F } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #00622F } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #00622F } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #00622F } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #00622F } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #00622F } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #00622F } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #00622F } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #A12236 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #00622F } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #005B82 } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #7F4707 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #005B82 } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #A12236 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #A12236 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #A12236 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #7F4707 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #7F4707 } /* Literal.Number.Integer.Long */ html[data-theme="dark"] .highlight pre { line-height: 125%; } html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } -html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } -html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ -html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ -html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ -html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ -html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ -html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ -html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ -html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ -html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ -html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ -html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ -html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ -html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ -html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #F8F8F2 } +html[data-theme="dark"] .highlight .c { color: #FFD900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #FFA07A } /* Error */ +html[data-theme="dark"] .highlight .k { color: #DCC6E0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #FFD900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #F8F8F2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #ABE338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #F8F8F2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #FFD900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #FFD900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #FFD900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #FFD900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #FFD900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #FFD900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00E0E0 } /* Generic.Deleted */ html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ -html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gh { color: #00E0E0 } /* Generic.Heading */ html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ -html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ -html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ -html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ -html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ -html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ -html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ -html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ -html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ -html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ -html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ -html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ -html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ -html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ -html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ -html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ -html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ -html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ -html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ -html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ -html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ -html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ -html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ -html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ -html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ -html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ -html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ -html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ -html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ -html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ -html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ -html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ -html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ -html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ -html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ -html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ -html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ -html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ -html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ -html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ -html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ -html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ -html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ -html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ -html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ -html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ -html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ -html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ -html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ -html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ -html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ -html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ -html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file +html[data-theme="dark"] .highlight .gu { color: #00E0E0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #DCC6E0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #DCC6E0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #DCC6E0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #DCC6E0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #DCC6E0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #FFD900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #FFD900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #FFD900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #ABE338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #FFD900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #FFD900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00E0E0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00E0E0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #FFD900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #ABE338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #DCC6E0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00E0E0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #FFD900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #F8F8F2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #F8F8F2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00E0E0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00E0E0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #FFA07A } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #DCC6E0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #F8F8F2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #FFD900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #FFD900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #FFD900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #FFD900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #FFD900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #ABE338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #ABE338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #ABE338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #ABE338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #ABE338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #ABE338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #ABE338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #ABE338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #ABE338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #ABE338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #FFA07A } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #ABE338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00E0E0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #FFD900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00E0E0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #FFA07A } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #FFA07A } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #FFA07A } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #FFD900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #FFD900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/cellmap_data.CellMapDataLoader.html b/cellmap_data.CellMapDataLoader.html index d010346..46fc57b 100644 --- a/cellmap_data.CellMapDataLoader.html +++ b/cellmap_data.CellMapDataLoader.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.CellMapDataSplit.html b/cellmap_data.CellMapDataSplit.html index bbaf960..68519be 100644 --- a/cellmap_data.CellMapDataSplit.html +++ b/cellmap_data.CellMapDataSplit.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.CellMapDataset.html b/cellmap_data.CellMapDataset.html index 2507b40..10011e8 100644 --- a/cellmap_data.CellMapDataset.html +++ b/cellmap_data.CellMapDataset.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.CellMapImage.html b/cellmap_data.CellMapImage.html index 9a03719..312d346 100644 --- a/cellmap_data.CellMapImage.html +++ b/cellmap_data.CellMapImage.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.CellMapMultiDataset.html b/cellmap_data.CellMapMultiDataset.html index 3cc7198..80e9030 100644 --- a/cellmap_data.CellMapMultiDataset.html +++ b/cellmap_data.CellMapMultiDataset.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.CellMapSubset.html b/cellmap_data.CellMapSubset.html index 53d34ee..e9d03fe 100644 --- a/cellmap_data.CellMapSubset.html +++ b/cellmap_data.CellMapSubset.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.dataloader.html b/cellmap_data.dataloader.html index 3364020..aa20475 100644 --- a/cellmap_data.dataloader.html +++ b/cellmap_data.dataloader.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.dataset.html b/cellmap_data.dataset.html index 26bccda..d433831 100644 --- a/cellmap_data.dataset.html +++ b/cellmap_data.dataset.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.dataset_writer.html b/cellmap_data.dataset_writer.html index e066769..ef6aadf 100644 --- a/cellmap_data.dataset_writer.html +++ b/cellmap_data.dataset_writer.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.datasplit.html b/cellmap_data.datasplit.html index a43a34a..85dd88e 100644 --- a/cellmap_data.datasplit.html +++ b/cellmap_data.datasplit.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.html b/cellmap_data.html index fc7c267..11b5958 100644 --- a/cellmap_data.html +++ b/cellmap_data.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.image.html b/cellmap_data.image.html index 5ffc961..ef99084 100644 --- a/cellmap_data.image.html +++ b/cellmap_data.image.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.multidataset.html b/cellmap_data.multidataset.html index d37cad9..f872d1e 100644 --- a/cellmap_data.multidataset.html +++ b/cellmap_data.multidataset.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.subdataset.html b/cellmap_data.subdataset.html index e3ebdae..35faef6 100644 --- a/cellmap_data.subdataset.html +++ b/cellmap_data.subdataset.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.augment.gaussian_noise.html b/cellmap_data.transforms.augment.gaussian_noise.html index 6a85e43..4c0c1eb 100644 --- a/cellmap_data.transforms.augment.gaussian_noise.html +++ b/cellmap_data.transforms.augment.gaussian_noise.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.augment.html b/cellmap_data.transforms.augment.html index 4279808..0b8f31f 100644 --- a/cellmap_data.transforms.augment.html +++ b/cellmap_data.transforms.augment.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.augment.nan_to_num.html b/cellmap_data.transforms.augment.nan_to_num.html index bff25d7..04b62c9 100644 --- a/cellmap_data.transforms.augment.nan_to_num.html +++ b/cellmap_data.transforms.augment.nan_to_num.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.augment.normalize.html b/cellmap_data.transforms.augment.normalize.html index f70c7b6..6f0ea32 100644 --- a/cellmap_data.transforms.augment.normalize.html +++ b/cellmap_data.transforms.augment.normalize.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.augment.random_contrast.html b/cellmap_data.transforms.augment.random_contrast.html index 6b44d67..2a0e3b0 100644 --- a/cellmap_data.transforms.augment.random_contrast.html +++ b/cellmap_data.transforms.augment.random_contrast.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.augment.random_gamma.html b/cellmap_data.transforms.augment.random_gamma.html index 9915fe5..6a522e4 100644 --- a/cellmap_data.transforms.augment.random_gamma.html +++ b/cellmap_data.transforms.augment.random_gamma.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.html b/cellmap_data.transforms.html index 24c920a..a21a89d 100644 --- a/cellmap_data.transforms.html +++ b/cellmap_data.transforms.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.targets.cellpose.html b/cellmap_data.transforms.targets.cellpose.html index b734938..8fdc520 100644 --- a/cellmap_data.transforms.targets.cellpose.html +++ b/cellmap_data.transforms.targets.cellpose.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.targets.distance.html b/cellmap_data.transforms.targets.distance.html index e8ad45d..a6911ee 100644 --- a/cellmap_data.transforms.targets.distance.html +++ b/cellmap_data.transforms.targets.distance.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.transforms.targets.html b/cellmap_data.transforms.targets.html index 9ddae87..1d380a1 100644 --- a/cellmap_data.transforms.targets.html +++ b/cellmap_data.transforms.targets.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.utils.dtype.html b/cellmap_data.utils.dtype.html index 27e2d24..a1e39ff 100644 --- a/cellmap_data.utils.dtype.html +++ b/cellmap_data.utils.dtype.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.utils.figs.html b/cellmap_data.utils.figs.html index f70a341..f5018d3 100644 --- a/cellmap_data.utils.figs.html +++ b/cellmap_data.utils.figs.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.utils.html b/cellmap_data.utils.html index 4146e30..e9518c4 100644 --- a/cellmap_data.utils.html +++ b/cellmap_data.utils.html @@ -30,7 +30,7 @@ - + diff --git a/cellmap_data.utils.metadata.html b/cellmap_data.utils.metadata.html index 59f4ba6..3339b82 100644 --- a/cellmap_data.utils.metadata.html +++ b/cellmap_data.utils.metadata.html @@ -30,7 +30,7 @@ - + diff --git a/genindex.html b/genindex.html index 2116800..a4bb3c0 100644 --- a/genindex.html +++ b/genindex.html @@ -29,7 +29,7 @@ - + diff --git a/index.html b/index.html index 3ed4d23..cea7305 100644 --- a/index.html +++ b/index.html @@ -30,7 +30,7 @@ - + diff --git a/modules.html b/modules.html index f929b2c..15c72cc 100644 --- a/modules.html +++ b/modules.html @@ -30,7 +30,7 @@ - + diff --git a/py-modindex.html b/py-modindex.html index badee2f..8feefac 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -29,7 +29,7 @@ - + diff --git a/search.html b/search.html index 8fb9b01..a7c728c 100644 --- a/search.html +++ b/search.html @@ -28,7 +28,7 @@ - +