gianthk / alrecon

Tomography reconstruction Web App that keeps non-expert users in mind
https://open-research-europe.ec.europa.eu/articles/4-54
MIT License
3 stars 0 forks source link
ct-reconstruction graphical-user-interface image-processing solara tomography

Alrecon (الريكُن)

Pure Python Computed Tomography reconstruction web application. Built with Solara.

GitHub license DOI

alrecon gif

How to cite

If you use alrecon please cite:

Iori et al., (2024). Alrecon: computed tomography reconstruction web application based on Solara. Open Research Europe, 4(54). https://doi.org/10.12688/openreseurope.16863.2

Installation

  1. Checkout this repository:
    git clone https://github.com/gianthk/alrecon.git
  2. Navigate to the repository and create a virtual environment with all necessary dependencies:
    cd alrecon
    conda env create --file envs/alrecon-base.yml
    conda activate alrecon-base

    [!NOTE] If you already have a destination virtual environment for alrecon, you can install manually the requirements listed in file alrecon.yml.

[!NOTE] You can install Miniconda if you have conda not on your computer and have no desire for a "fully-fledged" anaoonda environment (to date, the tomopy package is only available for conda). There is an option for a "Quick command line install", which runs the complete installation without having you to click. In case of doubt, you can omit the last step ~/miniconda3/bin/conda init bash and activate conda by source miniconda3/bin/activate.

[!NOTE] To use TomoPy with CUDA features, install TomoPy from conda following these instructions.

  1. Build the alrecon app:
    pip install -e .

Usage

Run the alrecon solara web application on your localhost

solara run alrecon.pages --host localhost

Run alrecon within jupyter

  1. Make sure that the alrecon virtual environment is activated and ipykernel installed:
    conda activate alrecon
    pip install --user ipykernel

    or:

    conda install -c anaconda ipykernel 
  2. Install ipykernel with the alrecon virtual environment:
    python -m ipykernel install --user --name=alrecon
  3. Launch Jupyter Notebook or Jupyter Lab instance:
    jupyter lab
  4. Open and run the cells of the notebook launch_within_jupyter.ipynb. Made withJupyter

You can take a look at solara's documnetation for more information on the different ways of running solara applications.


Integration with Google Sheets

How it works

  1. Set up your Google Cloud account and a Secret Key with read/write permissions as described above
  2. Save your Secret Key and modify the alrecon settings file with the path to your Secret Key file
  3. Create or upload to your Google account a spreadsheet master. You can find a template in resources/foo_master.xls
  4. If the option log to google master spreadsheet is activated, each time you submit a job to the HPC cluster the reconstruction settings are logged as a new line of the master spreadsheet

HPC cluster integration

Alrecon can generate reconstruction job files and submit them to the workers of a cluster, if this is available. The current integration assumes that the slurm workload manager is available on the host, and is designed for the ID10-BEATS beamline of SESAME. Here are some general instructions on how to set up alrecon to work with your HPC facility:

Use with napari

napari is a powerful pure Python multi-dimensional image viewer. Alrecon supports napari only when running the app through Jupyter.

Setup ImageJ launcher

To launch ImageJ from the alrecon web app follow these steps:

  1. Modify the path to your ImageJ executable in the alrecon general settings alrecon imagej executable path setting

  2. Copy the FolderOpener_virtual.ijm ImageJ macro contained in /alrecon/imagej_macros/ to the plugin folder of your ImageJ installation. On Linux this is something like /opt/Fiji.app/macros/.

Acknowledgements

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No [822535](Beamline for Tomography at SESAME BEATS).