Skip to content

Commit

Permalink
Merge pull request #63 from CBICA/ge-dev
Browse files Browse the repository at this point in the history
Ge dev
  • Loading branch information
AlexanderGetka-cbica authored Dec 16, 2024
2 parents af78dbb + 25c6447 commit f5274f8
Show file tree
Hide file tree
Showing 708 changed files with 5,603 additions and 588 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/sphinx-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ jobs:
pip install sphinx sphinx_rtd_theme sphinx-tabs sphinx_toolbox
- name: Sphinx build
run: |
sphinx-apidoc -o docs2 src/
cd docs2/
sphinx-apidoc -o docs src/
cd docs/
make html
cd ..
- name: Upload pages artifact
uses: actions/upload-pages-artifact@v3

with:
path: docs2/_build/html
path: docs/_build/html
retention-days: 90

deploy-docs:
Expand Down
51 changes: 0 additions & 51 deletions README.md

This file was deleted.

64 changes: 64 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
NiChart: Neuro-imaging Chart
============================

.. image:: https://img.shields.io/badge/Documentation-Read_the_Docs-blue
:target: https://cbica.github.io/NiChart_Project

.. image:: https://img.shields.io/badge/Website-NeuroImagingChart-orange
:target: https://neuroimagingchart.com

.. image:: https://img.shields.io/badge/GitHub-CBICA/NiChart_Project-green
:target: https://github.com/CBICA/NiChart_Project

About
-----

*NiChart* is a novel AI-powered neuroimaging platform with tools for computing a dimensional chart from multi-modal MRI data. *NiChart* provides end-to-end pipelines from raw DICOM data to advanced
AI biomarkers, allowing to map a subject’s MRI images into personalized measurements, along with
reference distributions for comparison to a broader population.

.. image:: https://raw.githubusercontent.com/CBICA/NiChart_Project/refs/heads/ge-dev/resources/images/NiChart_Flowchart_v2.svg
:alt: NiChart Flowchart

The Basics
----------

The development of nichart is guided by several core principles:

1. Enabling **near real-time image processing and analysis** through advanced methods.

2. Facilitating the **continuous integration** of **cutting-edge methods** for extracting novel **AI biomarkers** from neuroimaging data.

3. Ensuring robust and reliable results through **extensive data training and validation** on large and diverse training datasets.

4. Providing user-friendly tools for **visualization and reporting**.

5. Developing a deployment strategy that enables **easy access** for users with varying technical expertise and hardware resources.

Running NiChart
---------------

We provide both a locally installable **desktop application** and a **cloud-based application**.

For the desktop application please see `NiChart GitHub <https://github.com/CBICA/NiChart_Project>`_.

`NiChart cloud application <https://neuroimagingchart.com/portal>`_, hosted via Amazon Web Services (AWS), deploys scalable infrastructure which hosts the *NiChart* tools as a standard web application accessible via the user’s web browser.

The cloud and desktop applications are unified at the code level through the use of the Python library `Streamlit <https://streamlit.io>`_. Consequently, the user experience is nearly identical between the cloud and desktop applications.

Quick Links
-----------

.. image:: https://img.shields.io/badge/Research-AIBIL-blue
:target: https://aibil.med.upenn.edu/research
:alt: AIBIL Research

.. image:: https://img.shields.io/badge/YouTube-%23FF0000.svg?style=for-the-badge&logo=YouTube&logoColor=white
:target: https://www.youtube.com/@NiChart-UPenn
:alt: YouTube

.. image:: https://img.shields.io/twitter/url/https/twitter.com/NiChart_AIBIL.svg?style=social&label=Follow%20%40NiChart_AIBIL
:target: https://x.com/NiChart_AIBIL
:alt: Twitter

© 2024 CBICA. All Rights Reserved.
4 changes: 2 additions & 2 deletions docs/Makefile
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
Expand Down
64 changes: 64 additions & 0 deletions docs/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
NiChart: Neuro-imaging Chart
============================

.. image:: https://img.shields.io/badge/Documentation-Read_the_Docs-blue
:target: https://cbica.github.io/NiChart_Project

.. image:: https://img.shields.io/badge/Website-NeuroImagingChart-orange
:target: https://neuroimagingchart.com

.. image:: https://img.shields.io/badge/GitHub-CBICA/NiChart_Project-green
:target: https://github.com/CBICA/NiChart_Project

About
-----

*NiChart* is a novel AI-powered neuroimaging platform with tools for computing a dimensional chart from multi-modal MRI data. *NiChart* provides end-to-end pipelines from raw DICOM data to advanced
AI biomarkers, allowing to map a subject’s MRI images into personalized measurements, along with
reference distributions for comparison to a broader population.

.. image:: https://raw.githubusercontent.com/CBICA/NiChart_Project/refs/heads/ge-dev/resources/images/NiChart_Flowchart_v2.svg
:alt: NiChart Flowchart

The Basics
----------

The development of nichart is guided by several core principles:

1. Enabling **near real-time image processing and analysis** through advanced methods.

2. Facilitating the **continuous integration** of **cutting-edge methods** for extracting novel **AI biomarkers** from neuroimaging data.

3. Ensuring robust and reliable results through **extensive data training and validation** on large and diverse training datasets.

4. Providing user-friendly tools for **visualization and reporting**.

5. Developing a deployment strategy that enables **easy access** for users with varying technical expertise and hardware resources.

Running NiChart
---------------

We provide both a locally installable **desktop application** and a **cloud-based application**.

For the desktop application please see `NiChart GitHub <https://github.com/CBICA/NiChart_Project>`_.

`NiChart cloud application <https://neuroimagingchart.com/portal>`_, hosted via Amazon Web Services (AWS), deploys scalable infrastructure which hosts the *NiChart* tools as a standard web application accessible via the user’s web browser.

The cloud and desktop applications are unified at the code level through the use of the Python library `Streamlit <https://streamlit.io>`_. Consequently, the user experience is nearly identical between the cloud and desktop applications.

Quick Links
-----------

.. image:: https://img.shields.io/badge/Research-AIBIL-blue
:target: https://aibil.med.upenn.edu/research
:alt: AIBIL Research

.. image:: https://img.shields.io/badge/YouTube-%23FF0000.svg?style=for-the-badge&logo=YouTube&logoColor=white
:target: https://www.youtube.com/@NiChart-UPenn
:alt: YouTube

.. image:: https://img.shields.io/twitter/url/https/twitter.com/NiChart_AIBIL.svg?style=social&label=Follow%20%40NiChart_AIBIL
:target: https://x.com/NiChart_AIBIL
:alt: Twitter

© 2024 CBICA. All Rights Reserved.
5 changes: 5 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Developers - API
===========================

Submodules
----------
84 changes: 84 additions & 0 deletions docs/components.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
##########
Components
##########

NiChart is designed to integrate independent image processing and analysis pipelines. The following sections detail these pipelines.

*****************
Current Pipelines
*****************

These pipelines are currently active and accessible within the NiChart Project

====================================
1. sMRI Biomarkers of Disease and Aging
====================================

Neuroimaging pipeline for computing AI biomarkers of disease and aging from T1-weighted MRI scans. The pipeline applies the following steps for processign and analysis.

------------
Segmentation
------------

`DLMUSE <https://neuroimagingchart.com/components/#Image%20Processing>`_: Rapid and accurate **brain anatomy segmentation**

.. image:: https://github.com/CBICA/NiChart_Project/blob/031d1cafc5091eb514511ee25af189d5f0b5ac56/resources/images/dlicv%2Bdlmuse_segmask.png
:alt: DLMUSE

-------------
Harmonization
-------------

`COMBAT <https://neuroimagingchart.com/components/#Harmonization>`_: **Statistical data harmonization** of ROI volumes to `reference data <https://neuroimagingchart.com/components/#Reference%20Dataset>`_

.. image:: https://raw.githubusercontent.com/CBICA/NiChart_Project/refs/heads/ge-dev/resources/images/combat_agetrend.png
:alt: COMBAT

------------------------
Supervised ML Biomarkers
------------------------

`SPARE-AD and SPARE-Age indices <https://neuroimagingchart.com/components/##Machine%20Learning%20Models>`_: AI biomarkers of **Alzheimer's Disease and Aging** related brain atrophy patterns

.. image:: https://raw.githubusercontent.com/CBICA/NiChart_Project/refs/heads/ge-dev/resources/images/sparead%2Bage.png
:alt: SPARE-AD and SPARE-Age indices

`SPARE-CVR indices <https://alz-journals.onlinelibrary.wiley.com/doi/abs/10.1002/alz.067709>`_: AI biomarkers of brain atrophy patterns associated with **Cardio-Vascular Risk Factors**

.. image:: https://raw.githubusercontent.com/CBICA/NiChart_Project/refs/heads/ge-dev/resources/images/sparecvr.png
:alt: SPARE-CVR indices, Govindarajan, S.T., et. al., Nature Communications, 2024

-----------------------------
Semi-supervised ML Biomarkers
-----------------------------

- `SurrealGAN indices <https://www.nature.com/articles/d41586-024-02692-z>`_: Data-driven phenotyping of brain aging, **5 Brain Aging Subtypes**

.. image:: https://raw.githubusercontent.com/CBICA/NiChart_Project/refs/heads/ge-dev/resources/images/sgan1.jpg
:alt: SurrrealGAN indices

====================================
2. WM Lesion Segmentation
====================================

Neuroimaging pipeline for segmenting white matter lesions on FLAIR MRI scans.

`DLWMLS <https://neuroimagingchart.com/components/#Image%20Processing>`_: Rapid and accurate **white matter lesion segmentation**

.. image:: https://github.com/CBICA/NiChart_Project/blob/031d1cafc5091eb514511ee25af189d5f0b5ac56/resources/images/dlwmls.png
:target https://github.com/CBICA/NiChart_DLWMLS
:alt: DLWMLS

*****************
Under Development
*****************

These pipelines are planned for integration in future NiChart releases.

====================================
1. DTI Biomarkers of Disease and Aging
====================================

====================================
2. fMRI Biomarkers of Disease and Aging
====================================
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion docs2/help.rst → docs/help.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Getting help
############

If you have a problem or would like to ask a question about the inner workings of **NiChart DLMUSE** you can directly
If you have a question about **NiChart Project** you can directly
message our maintaners via email.

.. note::
Expand Down
4 changes: 3 additions & 1 deletion docs2/index.rst → docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. include:: ../README.rst
.. include:: README.rst

########
Contents
Expand All @@ -9,6 +9,8 @@ Contents

installation
usage
components
contributors
api
help
license
47 changes: 47 additions & 0 deletions docs/installation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
############
Installation
############

Users can install **NiChart Project** with pip: ::

pip install NiChart_Project

Alternatively, the package can be installed from source: ::

git clone https://github.com/CBICA/NiChart_Project
cd NiChart_Project && python3 -m pip install -e .

We release our latest stable version on PyPI; accordingly, **we strongly recommend pip installation**.

.. warning::
PyTorch and NumPy have known compatibility issues across different platforms. To avoid potential conflicts, please follow the installation instructions below.

- After installing all other necessary packages, uninstall any existing Torch installations: ::

$ pip uninstall torch

- Reinstall PyTorch:

- **Linux:** PyTorch version 2.3.1
- **Windows:** PyTorch version 2.5.1

- Users can select the correct index URL for their CUDA version based on the `PyTorch getting started page <https://pytorch.org/get-started/locally>`_

**Example on a Linux x86 system:** ::

$ pip install torch==2.3.1 --index-url https://download.pytorch.org/whl/cu121

*************************
Managing your environment
*************************

We recommend installing NiChart Project within a dedicated environment. Users can create an environment using Mamba (please see `Mamba Installation Guide <https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html>`_).

**Example on a Linux x86 system:** ::

$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
bash Mambaforge-Linux-x86_64.sh
mamba create -c conda-forge -c bioconda -n NCP_env python=3.12
mamba activate NCP_env
git clone https://github.com/CBICA/NiChart_Project.git
pip install -r requirements.txt
5 changes: 5 additions & 0 deletions docs/license.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#######
License
#######

NiChart application, web site, the content and the logo of NiChart are intellectual property of CBICA, UPENN. For details, please see `the licence <https://github.com/CBICA/NiChart_Project/blob/main/LICENSE>`_.
Loading

0 comments on commit f5274f8

Please sign in to comment.