Skip to content

Requirements and Installation

github-actions[bot] edited this page Jul 20, 2026 · 1 revision

Requirements & Installation

System Requirements

  • Python ≥ 3.12 (3.14 recommended, official builds use 3.14)
  • macOS, Linux, or Windows

Dependencies

Package Purpose
numpy Array computation
scipy Optimisers (Levenberg-Marquardt, Differential Evolution), signal processing
matplotlib Plotting (decay curves, lifetime maps, phasor plots)
xarray Labelled N-D arrays for FLIM signals
phasorpy (0.10) Phasor computation, calibration, cursor masking, spatial filtering, lifetime conversion
PyWavelets Wavelet-based phasor denoising
inquirer Interactive terminal prompts
ipywidgets + ipympl Jupyter notebook interactive support
cellpose (≥ 3.0) Deep-learning cell segmentation (Cellpose-SAM) for cell masking
opencv-python Image I/O, resizing, and general image processing
openpyxl Excel XLSX parsing for FLIM microscope software IRF extraction
pandas Excel/XLSX IRF file parsing
tifffile TIFF image I/O
tqdm Progress bars

Installation

git clone https://github.com/alex1075/FLIMKit.git
cd FLIMKit
python install.py

install.py installs core requirements, then auto-detects and installs the right GPU backend (MLX on Apple Silicon, CUDA on NVIDIA, ROCm on AMD, CPU-only fallback). No flags needed for a standard install.

python install.py --dev      # also installs PyInstaller and test requirements
python install.py --dry-run  # preview commands without executing

Validate Installation

python validate_installation.py

Runs 10 checks: dependencies, module imports, XLIF parsing, stitching, fitting, phasor pipeline, per-tile fit pipeline, and GPU backend dispatch. All should pass.

Hardware Limits

python hardware_limits.py

Stress-tests the machine by ramping canvas sizes (64×64 → 4096×4096) and measuring fixed-tau GPU and free-tau CPU throughput. Reports peak pixels/second, RAM headroom, and estimated wall-clock times for common acquisition sizes. Useful for understanding what canvas sizes are feasible before starting a long batch run.

Clone this wiki locally