Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions INSTALLATION.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Installing NiChart
# Installing NiChart Locally

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

The [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. **No installation is needed**, but it requires you to upload your data to the cloud-based NiChart server for us to process it. We do not access or use your data for any other purpose than to run your requested processing and/or provide support to you, and we regularly delete user data after inactivity. However, we recognize that data privacy agreements and related concerns may nevertheless restrict use of the cloud application. If that applies to you, we suggest that you install the desktop application. Below we provide detailed installation instructions.
The [NiChart cloud application](https://cloud.neuroimagingchart.com/), 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. We recommend this option first if you want to give NiChart a try, but be aware that it requires data to be transferred over the internet.

In particular, if you don't have a GPU on your device, the cloud application is probably the easiest way for you to use the NiChart tools.

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.
NiChart Desktop is a way for you to run NiChart on your own device, avoiding complications due to data usage agreements, etc. You will still need a GPU installed on your system to run most tools.

**Desktop installation**: Installing the desktop application currently requires [Docker](https://www.docker.com/get-started/) to be installed, as this greatly simplifies deployment and distribution of our algorithms without requiring extensive dependency management. Follow the instructions to install Docker (or Docker Desktop, on Windows/Mac) for your platform, then restart your device before continuing. We recommend having at least 20 GB of free space on your device before installing NiChart.
Installing the desktop application currently requires [Docker](https://www.docker.com/get-started/) to be installed, as this greatly simplifies deployment and distribution of our algorithms without requiring extensive dependency management. Follow the instructions to install Docker (or Docker Desktop, on Windows/Mac) for your platform, then restart your device before continuing. We recommend having at least 20 GB of free space on your device before installing NiChart.


## Windows Instructions

Windows users will likely need to first [install the Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install).

On Windows, Docker is distributed as "Docker Desktop", an application which manages Docker on your system.
On Windows, [Docker](https://www.docker.com/get-started/) is distributed as "Docker Desktop", an application which manages Docker on your system.

#### Getting started

Expand All @@ -33,7 +33,7 @@ First, identify a path you want to use. In this demo we'll use "C:/Users/NiChart

**Please make sure that the path you use does not already contain important data**. NiChart will not try to delete existing data, but it is good practice to select a new, empty folder.

Write down your path (for example, copy & paste it into Notepad).
Write down your path so you can access it later (for example, copy & paste it into Notepad).

#### Download the installer
Make sure you are connected to the internet in order to download the application.
Expand All @@ -60,7 +60,7 @@ To start NiChart, double-click the NiChart shortcut which the installer created

#### Updating

To update NiChart, just run the installer again the same way you ran it above and the newest NiChart components will be installed.
To update NiChart, just download the new installer again the same way you did at first installation and run it again the same way. The newest NiChart components will be installed.

To save space, you may want to clean up your Docker images to remove older tool versions. For more information on managing Docker images, see the [Docker image docs](https://docs.docker.com/reference/cli/docker/image/).

Expand Down
26 changes: 24 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@ 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

This repo contains the NiChart application front-end, which ties together all individual tools in the NiChart ecosystem and provides an easy-to-use interface for processing your data.

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

The development of nichart is guided by several core principles:
The development of NiChart is guided by several core principles:

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

Expand All @@ -41,10 +43,30 @@ Running NiChart

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

`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. **No install needed**, but it requires you to upload your data to the cloud-based NiChart server for us to process it. We do not access or use your data for any other purpose than to run your requested processing and/or provide support to you, and we regularly delete user data after inactivity. However, we recognize that data privacy agreements and related concerns may nevertheless restrict use of the cloud application. If that applies to you, we suggest that you install the desktop application. We provide detailed installation instructions on the `Installation page <./INSTALLATION.md>`_.
The `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. **No payment or installation is needed to use the tool**.

However, as a web application, NiChart Cloud requires you to upload your data to the private cloud-based NiChart server for us to process it. **We do not access or use your data** for any other purpose than to run your requested processing and/or provide support to you as a user, and we regularly automatically delete user data after inactivity. However, we recognize that data privacy agreements and related concerns may nevertheless restrict use of the cloud application. If that applies to you, we suggest that you install the desktop application. We provide detailed installation instructions on the `Installation page <./INSTALLATION.md>`_.

**Want to switch between versions?** 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.

Looking for specific NiChart tools?
-------------------

If you're looking for the individual NiChart structural tools, please see their individual repos:

NiChart_DLMUSE [`GitHub <https://github.com/CBICA/NiChart_DLMUSE>`_] [`Docker Hub <https://hub.docker.com/repository/docker/cbica/nichart_dlmuse>`_] - Fast brain segmentation via deep learning

NiChart_DLWMLS [`GitHub <https://github.com/CBICA/NiChart_DLWMLS>`_] [`Docker Hub <https://hub.docker.com/repository/docker/cbica/dlwmls_wrapped>`_] - Fast white matter lesion segmentation via deep learning

SPARE scores [`GitHub <https://github.com/CBICA/spare_score>`_] [`Docker Hub <https://hub.docker.com/repository/docker/cbica/nichart_spare_score>`_] - ML-based prediction/scoring for variables of clinical interest

CCL-NMF prediction [`GitHub <https://github.com/CBICA/CCL_NMF_Prediction>`_] [`Docker Hub <https://hub.docker.com/repository/docker/cbica/ccl_nmf_prediction_wrapped>`_] - Lightweight estimation of CCL-NMF loading coefficients

ComBatFam Harmonization [`GitHub <https://github.com/PennSIVE/ComBatFam_Pipeline>`_] [`Docker Hub <https://hub.docker.com/repository/docker/cbica/combatfam_harmonize_dlmuse>`_] - Dataset harmonization tools

SurrealGAN / PredCRD [`GitHub <https://github.com/CBICA/PredCRD>`_] [`Docker Hub <https://hub.docker.com/repository/docker/cbica/surrealgan_predcrd_wrapped>`_] - Predict continuous representation of disease along 5 principal dimensions


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

Expand Down
3 changes: 2 additions & 1 deletion installers/install_nichart_docker_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ APP_URL_DEFAULT="http://localhost:8501/"
CONTAINER_NAME="nichart_server"
RUN_ARGS=(--rm -d --name "${CONTAINER_NAME}")
# Ensure path translation can be done transparently even if job/pipeline docker containers are spun up from inside the nichart_server container
RUN_ARGS=(--rm -d --name "${CONTAINER_NAME}" -e NICHART_HOST_DATA_DIR="${DATA_DIR}")
RUN_ARGS+=(--privileged -p 8501:8501 -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock)
RUN_ARGS+=(-v "${DATA_DIR}:/app/output_folder:rw")
Expand Down
Loading