Main Objectives#
This document outlines the primary objectives of the internship, emphasizing performance evaluation, simulation validation, and feature development for FlowCyPy.
Limit of Detection (LoD)#
Objective: Define, quantify, and evaluate the limit of detection in flow cytometry simulations.
Metric Definition: - Develop a robust methodology to define the limit of detection (LoD). - Incorporate signal-to-noise ratio (SNR) thresholds and statistical models.
Noise Impact: - Analyze the influence of noise sources (thermal, shot, and dark noise) on LoD. - Compare theoretical noise characteristics with simulated results.
- where:
\(e\): Elementary charge (C)
\(I\): Current (A)
\(B\): Bandwidth (Hz)
\(k_B\): Boltzmann constant (J/K)
\(T\): Temperature (K)
\(R\): Resistance (Ω)
Mini Objective
Create plots showcasing the relationship between noise levels and LoD.
Assess the LoD for particles of varying sizes and refractive indices.
Real-Life Data Validation#
Objective: Compare simulation outputs against experimental data for validation.
Use calibration bead datasets to benchmark the simulation.
Validate forward and side scatter signal distributions using experimental measurements.
Evaluate accuracy in detecting small particle populations under noisy conditions.
Mini Objective
Simulate experimental setups using real-world parameters.
Quantify the deviation between simulated and experimental results.
Software Profiling and Optimization#
Objective: Enhance the efficiency of FlowCyPy for large-scale simulations.
Profiling: - Identify bottlenecks in simulation workflows using tools like cProfile or line_profiler. - Measure memory consumption and execution time under various conditions.
Optimization: - Refactor core modules (e.g., scatterer.py, detector.py) for better performance. - Explore batch processing and parallelization techniques to handle datasets with (10^6) particles.
Mini Objective
Profile a simulation with large particle counts and document runtime.
Implement parallel processing and compare speed improvements.
Feature Development#
Objective: Expand FlowCyPy’s capabilities for advanced analyses.
Peak Detection: - Implement and test a new algorithm for detecting peaks in low-SNR signals. - Compare adaptive thresholding, wavelet transforms, and other methods.
Particle Population Dynamics: - Simulate datasets with a large number of very small particles and evaluate effects on signal characteristics.
Documentation: - Improve the README file for clarity and usability. - Enhance overall documentation to include detailed examples, use cases, and API references.
Mini Objective
Test the new peak detection algorithm on simulated low-SNR signals.
Simulate a bimodal distribution with very small particles and assess accuracy.
Expected Outcomes#
A clearly defined LoD metric with supporting simulations and theoretical validations.
Robust comparisons between simulated and experimental data.
Optimized simulation workflows capable of handling large datasets efficiently.
A well-documented and user-friendly FlowCyPy package with enhanced features.