Skip to main content

A software library for reproducible analysis of optoretinograms.

Project description

𝑓(Cell) - Function of the Cell

Package PyPI Latest Release

Introduction:

This repository is where the OCVL does most of its optoretinography (abbreviated to ORG) software development. This software will always be open source, and available to any researcher using it for non-profit work. For the moment, the software is designed around intensity-based optoretinography, or iORG processing. That means that it is capable of processing/analyzing data from any en-face device that produces videos (not volumes), such as scanning laser ophthalmoscopes or line-scan ophthalmoscopes, and their adaptive optics variants (e.g. AO-SLO/AO-LSO/AO-FiO). However, we will be expanding this software to analyze OCT data in the near future, pending grant support to do so.

Using the software:

Working with optoretinograms often requires supra-normal processing of AOSLO/AOLSO/AOOCT datasets, so we have broken optoretinogram generation into a "pipeline" stage and an "analysis" stage.

For quick start information, please see our wiki.

How these stages work are governed by json-based configuration files that allow you to run the code on your data's particular filename, video, and metadata format. It also allows you to specify the parameters used during the processing and analysis steps, for your specific scientific problem. We have developed an easy-to-use configuration file generator to make this process as simple as possible, and it is included in all of our software releases.

How it works:

𝑓(Cell) operates in the following stages, which are detailed in our wiki.

The basic steps in the pre-analysis pipeline and analysis stages are as follows:

flowchart LR

    subgraph preanalysis["Pre-Analysis Pipeline"]
        direction TB
    AA(Load Dataset) --> BB([Parse Tags/Metadata])
    BB([Parse Tags/Metadata]) --> HH([Intra-Video Torsion Removal])
    HH([Intra-Video Torsion Removal]) --> II(Data Output and Sorting)
    end

    preanalysis --> analysis

    subgraph analysis["Analysis"]
        direction TB
    A(Load Dataset) --> B([Parse Tags/Metadata])
    B([Parse Tags/Metadata])  --> D([Segment Query Points / Extract ORGs])
    D([Segment Query Points / Extract ORG])  --> E([Standardize ORGs])
    E([Standardize ORGs])  --> F([Summarize ORGs])
    end
    
    click BB "https://github.com/OCVL/F-Cell/wiki/Advanced:-Tag-Parsing" "Tag Parsing"
    click CC "https://github.com/OCVL/F-Cell/wiki/Advanced:-Pre%E2%80%90Analysis-Pipeline#general-parameters" "Custom Steps"
    click DD "https://github.com/OCVL/F-Cell/wiki/Advanced:-Pre%E2%80%90Analysis-Pipeline#trimming" "Trim Video"
    click EE "https://github.com/OCVL/F-Cell/wiki/Advanced:-Pre%E2%80%90Analysis-Pipeline#flat-fielding" "Flat Field"
    click FF "https://github.com/OCVL/F-Cell/wiki/Advanced:-Pre%E2%80%90Analysis-Pipeline#blurring" "Blurring"
    click GG "https://github.com/OCVL/F-Cell/wiki/Advanced:-Pre%E2%80%90Analysis-Pipeline#roi-masking" "Crop Video"
    click HH "https://github.com/OCVL/F-Cell/wiki/Advanced:-Pre%E2%80%90Analysis-Pipeline#torsion-correction" "Intra-Video Torsion Removal"

    click B "https://github.com/OCVL/F-Cell/wiki/Advanced:-Tag-Parsing" "Tag Parsing"
    click C "https://github.com/OCVL/F-Cell/wiki/Advanced:-Analysis-Parameters#data-normalization" "Normalize Data"
    click D "https://github.com/OCVL/F-Cell/wiki/Advanced:-Analysis-Parameters#query-point-segmentation" "Query Point Segmentation"
    click E "https://github.com/OCVL/F-Cell/wiki/Advanced:-Analysis-Parameters#signal-standardization" "Standardization"
    click F "https://github.com/OCVL/F-Cell/wiki/Advanced:-Analysis-Parameters#org-summary" "Summarization"
    click G "https://github.com/OCVL/F-Cell/wiki/Advanced:-Analysis-Metrics" "Metrics"
    click H "https://github.com/OCVL/F-Cell/wiki/Advanced:-Analysis-Display-Parameters" "Display Results"

Configuration files:

The configuration file uses a json file format. At the moment, its creation is manual, though we will be developing a GUI tool for easy creation/updating of parameters in the coming months. Note: Examples can be found in the config_files directory.

The wiki containing instructions on how to use the pipeline as well as how to write a configuration file is currently under construction, but keep an eye for more instructions in March.

Attribution:

If you use this software for your work, please cite us! The current citation is:

Cooper RF, Gaffney M, Brennan BD, Rios N. “ƒ(Cell): Software for reproducible analysis of optoretinograms.” 2026 Translational Vision Science & Technolology. 15(3), 23

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

f_cell-0.4.10.3.tar.gz (894.5 kB view details)

Uploaded Source

Built Distribution

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

f_cell-0.4.10.3-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file f_cell-0.4.10.3.tar.gz.

File metadata

  • Download URL: f_cell-0.4.10.3.tar.gz
  • Upload date:
  • Size: 894.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for f_cell-0.4.10.3.tar.gz
Algorithm Hash digest
SHA256 3162b84732c858667db0bb96f621e1c50757caa9ff025dc1bfa1e758da602d5b
MD5 ddda4ac971322c1a22ef8205f5f5a859
BLAKE2b-256 bc19695b366003265c7fa16a5e389f3a7bec6c1b30a8b7b1ebcb06b3f0742562

See more details on using hashes here.

File details

Details for the file f_cell-0.4.10.3-py3-none-any.whl.

File metadata

  • Download URL: f_cell-0.4.10.3-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for f_cell-0.4.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 834cf76a4e413b3e6dd412c4c4364e582aa761e34567bdc63e40ef78ee9f8a5e
MD5 ba3e28ee0e894245d9a3e917fdce8de0
BLAKE2b-256 6b850b47582b66ea4dfce24604eff4aabe2adc8b37c2f01e7028fccd7d0d5f18

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