A Python application for deep learning-based particle tracking in microscopy images.
Deep Particle Tracker is a comprehensive tool for detecting and tracking fluorescent particles in microscopy image sequences using deep learning. The application integrates:
- Simulation of realistic microscopy data
- Neural network training for particle detection
- Tracking of particles across frames
- Visualization of results
The application leverages the power of convolutional neural networks, particularly U-Net architectures with ConvLSTM layers, to process multiple frames simultaneously for improved detection and tracking.
- Data Simulation: Generate realistic particle data with various motion models, PSF types, and noise characteristics
- Model Training: Train deep learning models on simulated or experimental data
- Prediction: Apply trained models to detect particles and track them across frames
- Visualization: Interactive visualization of results with tracks and probability maps
- User-Friendly GUI: Intuitive interface for all operations
- Python 3.7 or newer
- PyTorch 1.7 or newer
- PyQt5 for the GUI
- Various scientific Python packages (numpy, scipy, matplotlib, etc.)
-
Clone the repository:
git clone https://github.com/yourusername/deep_particle_tracker.git cd deep_particle_tracker -
Install dependencies:
pip install -r requirements.txt -
Install the package:
pip install -e .
Run the following command to start the application:
python main.py
Or if installed via pip:
deep_particle_tracker
--debug: Enable debug logging--cpu: Force CPU mode (disable GPU)
The application has three main tabs:
- Simulation: Create simulated particle data
- Training: Train models on simulated or real data
- Prediction: Apply trained models to new data
The software is organized into several modules:
- simulator: Particle, PSF, and noise simulation
- models: Neural network architectures and loss functions
- training: Data loading and model training
- prediction: Inference and tracking
- visualization: Result visualization tools
- gui: User interface components
- utils: Device management and threading utilities
- Open the Simulation tab
- Set simulation parameters (particle count, motion model, etc.)
- Click "Simulate" to generate data
- Review the results in the viewer
- Save the simulation for later use
- Open the Training tab
- Select data source (simulated or from file)
- Configure model and training parameters
- Click "Start Training" to begin
- Monitor training progress in real-time
- Open the Prediction tab
- Load your microscopy data
- Select a trained model
- Adjust detection and tracking parameters
- Click "Run Prediction" to analyze
- Explore the results with the interactive viewer
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- The Deep-STORM paper by Nehme et al. for inspiration
- The PyTorch team for the deep learning framework
- The scientific Python community