This code processes electron tomography (ET) data to identify and segment particles within 3D tomograms. The tool integrates Copick for particle detection and uses various algorithms for particle segmentation. It is designed for analyzing macromolecules, viruses, and other biological particles in electron microscopy datasets.
- Tomogram Segmentation: Segments and identifies particles in 3D tomograms.
- Particle Detection: Detects particles such as proteins, viruses, and other macromolecules.
- Integration with Copick: Leverages Copick for identifying and processing particles based on their size and location.
Copick Models: Used for identifying and processing pickable objects (particles) within the tomogram. It identifies particles based on their radius and location.
Applied to improve the quality of tomograms by removing noise, which helps in more accurate particle detection and segmentation.
Voxel-Based Segmentation: Uses voxel-based analysis to accurately segment particles by their size and spatial properties.
While the core process focuses on segmentation, ML models (such as scikit-learn) can be used for evaluating or classifying segmented data, though this is not the primary focus of the current code.
Accuracy: 0.71 where as benchmark is 0.78
The output includes:
- Particle Identification: A list of segmented particles with their names and radii.
- Segmentation Data: Structured files that contain the particle data, ready for further analysis.
- Visualization: Use of matplotlib for visualizing the segmentation results for inspection.
Example output:
[('apo-ferritin', None, None, 6.0),
('beta-amylase', None, None, 6.5),
('beta-galactosidase', None, None, 9.0),
('ribosome', None, None, 15.0),
('thyroglobulin', None, None, 13.0),
('virus-like-particle', None, None, 13.5)]
- Voxel Size: Defines the size of each voxel in the tomogram data for accurate particle size estimation.
- Tomogram Algorithm: Specifies the algorithm used to process and denoise the tomogram (e.g., 'denoised').
- Output Settings: Configurable options for naming and identifying output files (e.g., output name, user ID, and session ID).
To set up the environment and install the necessary dependencies, run:
pip install deepfindET copick-utils matplotlib scikit-learn