Skip to main content

RIA: Ratio Imaging Analyzer for biological quantification

Project description

Logo

Ratio Imaging Analyzer (RIA / 莉丫)

Chinese Version

PyPI Download Latest Release Status DOI Python License

Tests Open Source Size LOC Visitors Downloads


Meet RIA (or as we affectionately call her, "Li Ya / 莉丫").

Ratio Imaging Analyzer (RIA) is a specialized, standalone bio-image analysis software engineered for quantitative ratiometric microscopy. It provides a rigorous, coding-free workflow for processing dual-channel time-lapse data, serving as a powerful alternative to complex ImageJ/Fiji plugins or expensive commercial workstations (e.g., MetaMorph, NIS-Elements).

While originally designed for ratiometric imaging, RIA is fully optimized for Metabolic Imaging and Label-Free Intrinsic Fluorescence studies. It features built-in motion correction (image registration), background subtraction, and standardized data export, making it an essential tool for:

  • FRET & Biosensors: Standard CFP/YFP, GFP/RFP, and novel energetic sensors.
  • Metabolic Imaging: NAD(P)H/FAD redox ratios and metabolite sensors (ATP, Lactate).
  • Label-Free / Structural Biology: Ratiometric Tryptophan (Trp) imaging for protein unfolding/conformational changes.
  • Ion Sensing: Calcium (Fura-2, GCaMP), pH (BCECF), and Chloride imaging.

RIA Interface showing trace analysis

💡 Why use RIA?

  • Analysis Unchained: Stop queuing for the lab workstation. RIA is a standalone executable that runs on standard PCs.
  • Reproducibility Ready: Science requires verification. RIA allows you to save your entire workspace (ROIs, thresholds, background settings) into a lightweight .ria project file. Send this file to collaborators or reviewers, allowing them to instantly reproduce your analysis and verify your results.
  • Math Done Right: Calculating ratios isn't just A / B. Biological images have edges and noise. We implemented a normalized convolution algorithm that handles NaN (Not a Number) values correctly. This means your data doesn't get eroded or corrupted at cell boundaries.
  • Zero Coding Needed: We know not everyone loves Python. RIA has a full GUI for background subtraction, thresholding, and dragging-and-dropping ROIs.
  • Trust Your Data: We don't hide the numbers. You get the visual stacks, but you also get the raw float32 ratio data and time-series CSVs. You can take these straight to Prism, Origin, or Excel.

🔬 Supported Applications

RIA is algorithmically agnostic to the specific fluorophores, making it compatible with any dual-emission or dual-excitation ratiometric modality:

1. Structural Biology & Protein Dynamics (Tryptophan)

  • Intrinsic Tryptophan Fluorescence: Analyze protein conformational changes, unfolding, or binding events by calculating the ratio of emission shifts (e.g., 330nm / 350nm).
  • Anisotropy-based Ratios: Process polarized emission channels to study molecular tumbling.

2. Metabolic & Mitochondrial Imaging

  • Redox Ratio (Optical Redox Imaging): Quantify metabolic states (Glycolysis vs. OXPHOS) by computing the NADH / FAD autofluorescence ratio.
  • Genetically Encoded Metabolite Sensors: Analyze modern biosensors for ATP (e.g., ATeam), Lactate, Pyruvate, or Glucose.

3. FRET & Cell Signaling

  • Intermolecular / Intramolecular FRET: Robust processing for standard acceptor/donor emission stacks.
  • Kinase Activity Reporters: Track phosphorylation events in real-time (e.g., AKAR, CKAR).

4. Ion & Environmental Sensing

  • Calcium Imaging: Ratiometric dyes (Fura-2, Indo-1) and sensors (Ratiometric-Pericam, GCaMP variants).
  • pH & Chloride: BCECF, Clomeleon, and other environmental probes.

📁 Project Structure

RatioImagingAnalyzer/
├── data/               # Sample TIFFs so you can try it out immediately
├── paper/              # JOSS submission files
├── src/ria_gui         # The actual code
│   ├── main.py         # Start here
│   ├── gui.py          # The frontend logic
│   ├── processing.py   # The math/algorithm heavy lifting
│   └── components.py   # UI Widgets
├── tests/              # Automated tests to keep bugs away
└── requirements.txt    # Dependencies

🚀 Installation & Editions

RIA is available in two editions to suit different needs: RIA Pro (for advanced features) and RIA Lite (for portability).

💎 Option 1: RIA Pro (PyPI / Source)

Recommended for: Researchers working with .oir, .nd2, .czi files.

The Pro version is the full-featured Python package. It includes comprehensive dependencies (aicsimageio, bioformats) to support reading professional microscopy formats directly.

⚠️ Prerequisite: Java (JDK) To read proprietary formats (like .oir, .nd2) via the Bio-Formats backend, you must have a Java Development Kit (JDK) installed on your system (OpenJDK 11 or later is recommended).

  • Exclusive Feature: Direct support for Olympus .oir, Nikon .nd2, and Zeiss .czi files.
  • Installation:
    pip install ria-gui
    
    Once installed, launch it with:
    ria
    

⚡ Option 2: RIA Lite (Standalone Executable)

Recommended for: Users who want instant access without installing Python.

The Lite version is a re-engineered, lightweight executable optimized for speed and portability. We have significantly reduced the file size and optimized the initialization process for instant startup.

  • Best For: Standard TIFF workflows on any Windows PC.
  • No Java Required: Since Lite handles standard TIFFs, no external Java environment is needed.
  • Key Features: Zero configuration, ultra-fast cold start, minimal memory footprint.
  • Download: Check the Releases page to download the latest RIA_Lite_vX.X.exe.

Option 3: Running from Source (Development)

For developers who want to contribute or modify the code:

  1. Clone the repository:

    git clone [https://github.com/Epivitae/RatioImagingAnalyzer.git](https://github.com/Epivitae/RatioImagingAnalyzer.git)
    cd RatioImagingAnalyzer
    
  2. Install dependencies: It is recommended to use a virtual environment.

    pip install -r requirements.txt
    
  3. Run the application:

    python src/ria_gui/main.py
    

📖 Usage Workflow

  1. Load Files:
    • Supports both Single-Channel (Intensity) and Multi-Channel (Ratio) Tiff stacks.
    • RIA Pro users can directly drag & drop .oir / .nd2 files (ensure Java is installed).
  2. Preprocessing:
    • Motion Correction: Align shaky time-lapse data using the built-in ECC algorithm.
    • Background: Set a global background subtraction (Percentile) or use a custom ROI.
  3. Visualization:
    • Switch views between Ratio, Ch1, Ch2, or Aux channels using the toolbar.
  4. Analyze:
    • Draw ROIs (Rectangle, Circle, Polygon).
    • Click Plot Curve to see real-time intensity/ratio changes.
  5. Save & Export:
    • Save Project: Save your session as a .ria file to allow others to reproduce your work.
    • Export Data: Copy data to clipboard or save processed images as Tiff stacks.

🧪 Automated Testing

RIA v1.8.0 introduces a "Ghost Pilot" automated testing script powered by rich to ensure stability.

To run the visual E2E test demo:

python tests/auto_drive_rich.py

🤝 Contributing

Contributions are welcome! Please check the Issue Tracker or submit a Pull Request.

📄 License

Distributed under the MIT License. See LICENSE for more information.

Citation

If you use RIA in your research, please cite:

Wang, K. (2025). Ratio Imaging Analyzer (RIA): A Lightweight, Standalone Python Tool for Portable Fluorescence Analysis (v1.8.3). Zenodo. https://doi.org/10.5281/zenodo.18107966

Or use the BibTeX entry:

@software{Wang_RIA_2025,
  author = {Wang, Kui},
  title = {{Ratio Imaging Analyzer (RIA): A Lightweight, Standalone Python Tool for Portable Fluorescence Analysis}},
  month = dec,
  year = {2025},
  publisher = {Zenodo},
  version = {v1.8.3},
  doi = {10.5281/zenodo.18107966},
  url = {[https://doi.org/10.5281/zenodo.18107966](https://doi.org/10.5281/zenodo.18107966)}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ria_gui-2.0.0.tar.gz (8.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ria_gui-2.0.0-py3-none-any.whl (8.2 MB view details)

Uploaded Python 3

File details

Details for the file ria_gui-2.0.0.tar.gz.

File metadata

  • Download URL: ria_gui-2.0.0.tar.gz
  • Upload date:
  • Size: 8.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for ria_gui-2.0.0.tar.gz
Algorithm Hash digest
SHA256 579b4eb35f4febd51018aa1a57a1dd2f8b14e26c51cf97768d15b3b5fbac2542
MD5 158bbf4af781a7a80e7ab2458c5f7738
BLAKE2b-256 3a69047cc45dfc5a566ac53ec0848f0ec517fa4d4ab9b7e02bcab4db19bf0c8a

See more details on using hashes here.

File details

Details for the file ria_gui-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: ria_gui-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for ria_gui-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05ebe0e8b84edf175f01cbefc7581b2ab5b71b952a4ffd849b46dc7964255aeb
MD5 fe89ce02ca8a1df25b619459329f4ec0
BLAKE2b-256 cb388eaeb7fd6b9966e31d28d1ddeb5ae39d3f610fb1c9dcb51cedc53599e48d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page