Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] 519 Add Radiogenomic GAN #531

Closed

Conversation

gagandaroach
Copy link
Contributor

@gagandaroach gagandaroach commented Jun 10, 2020

Fixes #519 Radiogenomic GAN

Description

In the research folder I am creating a Monai implementation and tutorial of DLMED's Radiogenomic GAN as detailed in paper. Network and clinical application details in issue description.

Status

Work in progress

TODO

  • Build basic Gan workflow
  • Replicate DLMED data cleaning on TCIA dataset.
  • Use research source and MONAI dictionary based transforms to train model
  • Refactor overall program based on MONAI workflow (trainer, evaluator, event-handlers, etc.)
  • Re-implement GAN with MONAI network APIs
  • Refactor GAN model to handle diverse input data shapes.
  • Add healthy network reparameterization trick to training script. Link

@gagandaroach gagandaroach force-pushed the 519-radiogenomic-gan branch 2 times, most recently from c6d9829 to d920dd3 Compare June 26, 2020 21:47
@gagandaroach gagandaroach force-pushed the 519-radiogenomic-gan branch from d920dd3 to 0861b5a Compare June 29, 2020 20:23
@gagandaroach gagandaroach force-pushed the 519-radiogenomic-gan branch 3 times, most recently from 77e9786 to 2d926be Compare July 17, 2020 19:11
@gagandaroach gagandaroach force-pushed the 519-radiogenomic-gan branch from 99588a6 to 4a3378e Compare July 29, 2020 09:00
@gagandaroach gagandaroach mentioned this pull request Jul 30, 2020
7 tasks
@gagandaroach gagandaroach force-pushed the 519-radiogenomic-gan branch 3 times, most recently from 2bdfad2 to 8786f02 Compare August 7, 2020 05:30
@gagandaroach gagandaroach force-pushed the 519-radiogenomic-gan branch 2 times, most recently from ee384df to 59c7197 Compare August 24, 2020 09:38
@gagandaroach
Copy link
Contributor Author

gagandaroach commented Aug 26, 2020

Hi @Nic-Ma and @wyli. I re-wrote the RGGAN model with MONAI blocks and wired it up to GanTrainer. Could you review the run_training.sh and RGModel.py files? This is my second milestone for the project.

The pull request is still a WIP and not ready for merge. I first must redo the data input pipeline to exemplify using the TCIA DICOM data and not Ziyue's cleaned niifti files.

Edit: Should I refactor the network class to handle non 128^2 imagery?

* Based off research source
Update model average weights every iteration, load and restore weights around model checkpointing. Sample output: 

INFO:ignite.engine.engine.GanTrainer:Epoch[2] Complete. Time taken: 00:01:20
INFO:Reparameterization:Loaded average params at epoch: 2
INFO:ignite.engine.engine.GanTrainer:Saved checkpoint at epoch: 2
INFO:Reparameterization:Restored network params at epoch: 2
…e mask, and gene impact map

* modularize method with signature params
* add background bases to plot
* template out argparser, unused currently
* remove cv2 erode call on G background reconstruction loss
* remove reparameterization trick
* rename loss func variables in run_training
* remove d_inferer pointer in gan trainer. disc network is called in d loss func
* add option to randomize latents in eval script
* use layer factories
* patch update weights init to catch monai block
* create rggan file for network
* RGGAN uses MONAI framework where possible
* Rename files to prefix RG
* Remove unused transforms, ReparameterizationTrick, util func
@Nic-Ma
Copy link
Contributor

Nic-Ma commented Sep 11, 2020

Hi @gagandaroach ,

What's your progress here? Do you still plan to complete it and ask for review?
Thanks.

@gagandaroach
Copy link
Contributor Author

gagandaroach commented Sep 12, 2020

Hi @gagandaroach ,

What's your progress here? Do you still plan to complete it and ask for review?
Thanks.

Hi @Nic-Ma 👋

I put this down the last few weeks during the start of the academic year. I plan to complete it and ping for review.

Right now I am working on the TCIA dataflow into the trainer. Regarding the CT seg dicoms, the ITK python library is missing a SingleBit datatype. If I can add it to the library, then the pydicom dependency is removed from this example's data preprocessor. Issue Link

I will update the Todos in the PR body with the rest of the work I think I need.

@Nic-Ma
Copy link
Contributor

Nic-Ma commented Sep 12, 2020

Sounds good.
Thanks.

Parse NCIA data to grab only CT scan information.
Prepare RNA sequencing data into vector

PR not complete, TODO: 

load filenames using Dataloader abstraction and updated itk 
Move into new research folder
update monai transforms to segment 3d data into 2d slices
@madil90
Copy link
Contributor

madil90 commented Sep 13, 2021

/build

@ericspod
Copy link
Member

Hi @gagandaroach thanks for your efforts but this PR has gotten outdated compared to the current state of the repo. I'm closing it now but if you wanted to come back to this work we can easily reopen, although I think most of this here would make sense in our research contributions repo.

@ericspod ericspod closed this Jan 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

radiogenomic-gan
4 participants