CopickTomogram
copick.models.CopickTomogram
Encapsulates all data pertaining to a specific tomogram. This includes the features for this tomogram and the associated Zarr-store.
Attributes:
-
voxel_spacing
(CopickVoxelSpacing
) –Reference to the voxel spacing this tomogram belongs to.
-
meta
(CopickTomogramMeta
) –Metadata for this tomogram.
-
features
(List[CopickFeatures]
) –Features for this tomogram. Either populated from config or lazily loaded when
CopickTomogram.features
is accessed for the first time. -
tomo_type
(str
) –Type of the tomogram.
get_features(feature_type: str) -> Union[CopickFeatures, None]
Get feature maps by type.
Parameters:
-
feature_type
(str
) –Type of the feature map to retrieve.
Returns:
-
CopickFeatures
(Union[CopickFeatures, None]
) –The feature map with the given type, or
None
if not found.
new_features(feature_type: str, **kwargs) -> CopickFeatures
Create a new feature map object. Also creates the Zarr-store for the map in the storage backend.
Parameters:
-
feature_type
(str
) –Type of the feature map to create.
-
**kwargs
–Additional keyword arguments for the feature map metadata.
Returns:
-
CopickFeatures
(CopickFeatures
) –The newly created feature map object.
Raises:
-
ValueError
–If a feature map with the given type already exists for this tomogram.
query_features() -> List[CopickFeatures]
Override this method to query for features.
refresh_features() -> None
Refresh CopickTomogram.features
from storage.
refresh() -> None
Refresh CopickTomogram.features
from storage.
zarr() -> MutableMapping
Override to return the Zarr store for this tomogram. Also needs to handle creating the store if it doesn't exist.
numpy(zarr_group: str = '0', x: slice = slice(None, None), y: slice = slice(None, None), z: slice = slice(None, None)) -> np.ndarray
Returns the content of the Zarr-File for this tomogram as a numpy array. Multiscale group and slices are supported.
Parameters:
-
zarr_group
(str
, default:'0'
) –Zarr group to access.
-
x
(slice
, default:slice(None, None)
) –Slice for the x-axis.
-
y
(slice
, default:slice(None, None)
) –Slice for the y-axis.
-
z
(slice
, default:slice(None, None)
) –Slice for the z-axis.
Returns:
-
ndarray
–np.ndarray: The tomogram as a numpy array.
from_numpy(data: np.ndarray, levels: int = 3, dtype: Optional[np.dtype] = np.float32) -> None
Set the tomogram from a numpy array and compute multiscale pyramid. By default, three levels of the pyramid are computed.
Parameters:
-
data
(ndarray
) –The segmentation as a numpy array.
-
levels
(int
, default:3
) –Number of levels in the multiscale pyramid.
-
dtype
(Optional[dtype]
, default:float32
) –Data type of the segmentation. Default is
np.float32
.
set_region(data: np.ndarray, zarr_group: str = '0', x: slice = slice(None, None), y: slice = slice(None, None), z: slice = slice(None, None)) -> None
Set a region of the tomogram from a numpy array.
Parameters:
-
data
(ndarray
) –The tomogram's subregion as a numpy array.
-
zarr_group
(str
, default:'0'
) –Zarr group to access.
-
x
(slice
, default:slice(None, None)
) –Slice for the x-axis.
-
y
(slice
, default:slice(None, None)
) –Slice for the y-axis.
-
z
(slice
, default:slice(None, None)
) –Slice for the z-axis.