Skip to main content

RIA: Ratio Imaging Analyzer for biological quantification

Project description

Logo

Ratio Imaging Analyzer (RIA / 莉丫)

PyPI Download Latest Release Status DOI Python License

Tests Open Source Size LOC Visitors


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

RIA is an open-source tool built to solve a simple but annoying problem: Ratiometric analysis shouldn't be stuck on the microscope computer.

Ratiometric imaging (like FRET or sensors for Tryptophan/pH/Ca²⁺) is amazing for normalizing data, but analyzing it usually requires expensive commercial software (like MetaMorph or NIS-Elements) that is locked to a specific workstation with a dongle.

We built RIA so you can take your TIFF stacks, go to a coffee shop (or just your desk), and run rigorous analysis on your own laptop—no coding required.

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.
  • 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—a common issue in simple script-based analysis.
  • 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.

📁 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, etc.) to support reading professional microscopy formats directly.

  • 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.
  • 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.
  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.
    • 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-1.8.3.1.tar.gz (8.2 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-1.8.3.1-py3-none-any.whl (8.2 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ria_gui-1.8.3.1.tar.gz
Algorithm Hash digest
SHA256 062f9692c48c2a421df7e940a337c040f9511f48c9fa3e3c9e3d748532ed150d
MD5 91cc604dd314bf0517b9e9cf530cbe7e
BLAKE2b-256 1578a8af26fcae6f769642eb499222dda3b7013eee506c29ed3b9a67ed54b9cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ria_gui-1.8.3.1-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-1.8.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 af8959a909185fc5c2dcc563e66cb06e1ebde36e07e869e330c54a268839ab4a
MD5 8f5b947ea547f741dba7f1e6f9e1a1d3
BLAKE2b-256 71b46545ddbda2f4e347e2a6d48f1001a0965624879825edfcc429fd1c793b6c

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