KitwareMedical / lungair-web-application

Web application based on VolView for AI-based BPD risk analysis
4 stars 0 forks source link

Adopt custom volview template #24

Closed ebrahimebrahim closed 9 months ago

ebrahimebrahim commented 11 months ago

Switch to using custom volview template. This involves significant work to port all of our current changes to the template framework. We will then need this repo to stop being a fork of volview.

jadh4v commented 11 months ago

Based on discussions with the @jcfr and @ebrahimebrahim I am writing down the following steps towards incorporating the custom volview template:

  1. Detach fork from Volview
  2. Rename current lungair-main branch as lungair-legacy so that we can retain the previous commit history. We can either make it a tag, or a read-only protected branch.
  3. Remove any redundant branches that were part of the fork (like python, volview main, etc).
  4. Start a new branch with contents from lungair-legacy but overwritten and adapted to use VolViewCAT (custom app template). This will not retain previous history but will give us a clean slate for migration.
ebrahimebrahim commented 10 months ago

Work is currently ongoing at the branch migrate-lungair-to-volview-custom-template.

Tests

Here are my notes based on tests starting from this commit

git clone git@github.com:KitwareMedical/lungair-web-application.git --branch=migrate-lungair-to-volview-custom-template lungair-web-application-test
cd lungair-web-application-test
git submodule update --init
nvm use 18.17.1
npm install
cp lungair/.env .
npm run build
cp core/VolView/src/io/itk-dicom/emscripten-build/* core/VolView/dist/itk/pipelines/
npm run preview

2023-11-14 1:09 PM After specifying nvm use 18.17.1 instead of just nvm use 18 the install worked for me.

Notice that I had to move .env to the repo root directory for things to work.

Loading local fhir records worked.

Loading dicom files requires that cp line. We need a better fix for this.

Remote Cerner login works for Raj in chrome. Ebrahim has problems with firefox, but we don't care about that yet.

Installing the python server doesn't seem to work. Here is what I tried:

python3.9 -m venv .venv
. .venv/bin/activate
cd core/VolView/server/
pip install poetry
poetry install
cd ../../../lungair/python/
python -m volview_server -P 4014 lungair_methods.py

Here is what's happening: The server/methods/ directory used to be built into core volview, and our lungair-main branch when we forked core volview relied on this directory being there. Now that after the migration, this directory is gone from the more recent core volview that we are pinning our submodule to. We can't go back to an earlier volview because the python server didn't exist when we forked. What we need specifically is server/methods/methods_utils.py. It may have gotten moved in core volview so we just need to update where we get this. I need to look at this newer example and update how the lungair_methods.py works.

To do

Critical for this issue

Not critical, can open as new issues that will potentially never be fixed:

ebrahimebrahim commented 9 months ago

Completed testing everything locally from b67e72189868e3987ef47384e14b3bcdfbbe4fe8: