Tomohub is a graphical tool created with React and FastAPI to generate and configure YAML processlists for HTTOMO pacakge and using React Relay and Workflows, it's able to run high throughput tomography jobs using HTTOMO as well.
In order to run a tomography reconstruction jobs with HTTOMO package, you need to have your data and a processlist (pipeline), these processlists are basically YAML files with different methods and parameters for the reconstruction job, with both deployment and local versions of tomohub you are able generate these processlists without editting the YAML files directly and then simply download your config files and use them in order to run HTTOMO. beside generating config files, the local version is able to run HTTOMO jobs as well, after selecting your desired methods (or if you have your own config file as well), you can run HTTOMO by clicking on "Run HTTOMO (Local)" button
the main available feature on the local version is COR finder tool, with this tool based on the parameter sweeping feature of HTTOMO, users are able to run a reconstruction job with either of gdric or FBP algorithms and a range of values for centre of rotation, in the result, users can see final png output of the reconstruction job and they can use the slider to see different outputs and select their desired one, this feture is currently implemented with power of workflows.
- 
Configuring the loader for your pipeline is the first essential step to make a processlist, tomohub uses the standard_tomo_loader see more
 - 
previewing feature allows you to change the dimensions of the input data by reducing them, in another way is a way to crop your data before the reconstruction job happens see more
you can select this fetature by clicking on the "Enable preview" button in the Loader section and select a range to crop in both X and Y axises
 
- Tomohub contains all the method from both httomolib and httomolibgpu libraries, after setting your Loader, it's needed to select a set of methods for your reconstruction job, a good approach to do so is by following the order of the vertical tab on left
 - You can see the list of your methods in the pipeline on the right side bar, you can remove/edit your selected methods and you can also reorder your methods in the processlist by drag and dropping them
 
- HTTOMO supports parameter sweeping feature, sweeping in this context means you can set more than one value for a parameter in your selected methods see more
 - in order to select sweeping for a parameter, select GEAR_ICON next the parameter input, then simply select your values for your sweeping in the opened pop-up window
 - keep in mind as HTTOMO only allows one parameter sweeping per pipeline, you are only allowed to select 1 sweeping per processlist as well
 
you can select a ready to use pipelines as well, simply select your pipeline from the "Ready to use piplines"
after setting loader and selecting your methods, you can name download your config file and use it with HTTOMO
git clone https://github.com/DiamondLightSource/TomoHub
In frontend/, add an .env.local file with the following contents:
VITE_API_BASE_URL = "http://localhost:8000"
VITE_KEYCLOAK_CLIENT_ID = "tomohub-dev"
cd Tomohub/frontend
npm i
npm run relay
npm run dev
cd Tomohub/backend
pip install -r requirements.txt
pip install httomolibgpu --no-deps
pip install httomo_backends --no-deps
uvicorn main:app --reload