Core Components#
FlowCyPy provides a modular framework to simulate key elements of a flow cytometry system. Below are its core components, their attributes, and functionalities. For more details, refer to the API Reference.
Scatterer#
The Scatterer represents particle distributions and their interactions with light.
Attributes:
populations: List of particle populations, each with size and refractive index distributions.
medium_refractive_index: Refractive index of the surrounding medium (e.g., water).
dataframe: Contains particle data, including size, refractive index, and time of arrival.
Key Features:
Add populations with add_population(name, size, refractive_index, concentration).
Initialize the scatterer using initialize(flow_cell).
Visualize particle distributions with plot().
Source#
The Source models the laser used for illumination in flow cytometry.
Attributes:
wavelength: Wavelength of the laser (e.g., 800 nm).
optical_power: Power of the laser beam (e.g., 20 mW).
numerical_aperture: Numerical aperture defining the beam’s focus.
Key Features:
Simulates the laser profile for scattering calculations.
Models coherent light sources using Gaussian beam theory.
Detector#
The Detector emulates the response of flow cytometer detectors.
Attributes:
phi_angle: Angle of detection relative to the beam (e.g., forward or side scatter).
responsitivity: Sensitivity of the detector (e.g., current per unit power).
saturation_level: Maximum signal level the detector can handle.
noise_levels: Configurable noise types (thermal, shot, dark current).
dataframe: Stores raw and processed signal data.
Key Features:
Add various noise models using NoiseSetting.
Simulate digitization with configurable bit-depth (e.g., 12-bit, 14-bit).
Visualize signal data using plot().
FlowCytometer#
The FlowCytometer integrates all components to simulate a complete flow cytometry experiment.
Attributes:
scatterer: The scatterer object defining particle distributions.
source: The laser source illuminating particles.
detectors: List of detectors for signal acquisition.
background_power: Ambient light contribution.
Key Features:
Combines the scatterer, source, and detectors for realistic simulations.
Computes Forward Scatter (FSC) and Side Scatter (SSC) signals.
Uses PyMieSim for accurate scattering computations.
EventCorrelator#
The EventCorrelator (previously called Analyzer) provides tools for signal analysis and particle event detection.
Attributes:
cytometer: The associated FlowCytometer object.
coincidence_dataframe: Stores data for coinciding signals across detectors.
algorithm: Peak detection algorithm for identifying particle events.
Key Features:
Detect peaks in signals using customizable algorithms (e.g., MovingAverage).
Correlate events between detectors to identify coincidences.
Generate 2D density plots of Forward Scatter (FSC) and Side Scatter (SSC) signals.
Example Use Cases#
Simulate a scatterer with two distinct populations to analyze overlapping signals.
Configure detectors with high noise to study the effect on signal clarity.
Use EventCorrelator to investigate coincidence events in a multi-detector setup.
For further details on classes and methods, visit the API Reference.