API Overview
Abstract Data Entities
The copick API allows object-oriented access to cryoET data entities. Each data entity has a corresponding metadata model defined in pydantic. There is a set of abstract base classes that define the common interface for all data entities and the associated metadata models. The data entities are organized in a hierarchy that reflects the on-disk data model of copick and the structure of a typical cryoET dataset.
The abstract data entities are defined in the copick.models module and given in the table below.
| Data Entity | Class | Metadata Class |
|---|---|---|
| Project Root | CopickRoot | CopickConfig |
| ... Copick Object | CopickObject | PickableObject |
| ... Run | CopickRun | CopickRunMeta |
| ...... Picks | CopickPicks | CopickPicksFile |
| ...... Mesh | CopickMesh | CopickMeshMeta |
| ...... Segmentation | CopickSegmentation | CopickSegmentationMeta |
| ...... Voxel Spacing | CopickVoxelSpacing | CopickVoxelSpacingMeta |
| ......... Tomogram | CopickTomogram | CopickTomogramMeta |
| ......... Features | CopickFeatures | CopickFeaturesMeta |
Implementations
There are concrete implementations of the abstract data entities that are used to access data in a copick dataset.
- Overlay: An extenstion to the abstract copick API implementation that adds methods to seamlessly overlay data from different sources.
- Filesystem: A concrete implementation that reads and writes data to any storage supported by
fsspec.