-
Notifications
You must be signed in to change notification settings - Fork 0
Setup Environment
Basically, HistoJS has a front-end, Flask as the back-end framework, and an images database (i.e., Digital Slide Archive) —it can be conceptualized as having three layers:
-
JavaScript UI Layer (Front-End): This is the layer that the end-users interact with, and can handle the browsing and OME-TIFF channels grouping phase.
-
Flask (Back-End) Layer: This Python layer, powered by Flask, handles the analysis phase.
-
Data Layer (Digital Slide Archive): This is where OME-TIFF data is stored, retrieved, and managed. It includes a data management system and Rest APIs to handle the requests.
- Install requirements
3.4 < python < 3.8 is recommended
For deploying HistoJS on a cluster or a local client-side machine, first download or clone HistoJS repository:
git clone https://github.com/Mmasoud1/HistoJS.git
cd HistoJS
Then create histojs conda environment:
conda env create -f histojs.yml
After creating the histojs environment, from the root level of the repository open a new terminal, activate the environment and run the python Rest Api file:
source activate histojs
python RestApi.py
- To run the local host in the browser, start up a simple local server from the root level of the repository with any available port number 8xxx (e.g., 8020)
python -m http.server 8xxx
- In the browser URL, open the local host with the selected port number (e.g., 8020):
localhost:8020/
The following demo summarizes the above steps. However, the conda environment creation was bypassed in that demo because it was already created before.
HistoJS_Setup.mp4
For using the backbone Digital Slide Archive (DSA) server (e.g., Styx ), you need to create a user account on any DSA server and upload your OME-TIFF image, cells mask (Optional), and the channels metadata CSV file to your collection as in this link:
https://styx.neurology.emory.edu/girder/#folder/658d5f2ca45554f5d9171e01
Please note: if the name of the OME image file is
DSA example of OME-TIFF data hosting (Data source: Rashid et al)
The Channel metadata CSV file must have at least two columns: 'channel_number' and 'channel_name' :