compSPI / reconstructSPI

inverse problem solvers
2 stars 3 forks source link

Implement design for GAN-based reconstruction, e.g. CryoGAN #7

Open harshit-gupta-cor opened 2 years ago

harshit-gupta-cor commented 2 years ago

Discussion to replace parts of CryoGAN repo with modules from compSPI/compSPI, compSPI/simSPI, and compSPI/ioSPI.

One possible structure:

  1. CryoGAN/src/ ctf.py --> import from simSPI/linear_simulator/ctf.py shift.py --> import from simSPI/linear_simulator/shift.py projector.py --> import from simSPI/linear_simulator/projector.py noise.py --> import from simSPI/linear_simulator/noise.py simulator.py --> import from simSPI/linear_simulator/simulator.py dataio.py--> move to ioSPI transforms.py --> import from compSPI/transforms.py

  2. CryoGAN/ utils.py --> Needs to be split into many different files with appropriate grouping and names. loss_utils.py --> Move to reconSPI modules.py --> Move to reconSPI ml_modules.py --> move to reconSPI save__image_utils --> move to ioSPI writer_utils --> Move to reconSPI

  3. CryoGAN: (all below will be kept in the cryoGAN repo. This repo could also be moved to reconSPI.) configs/* main_cryogan.py cryogan_wrapper.py cryogan.py

geoffwoollard commented 2 years ago
  1. LGTM

  2. utils.py Needs to be split into many different files with appropriate grouping and names. loss_utils.py will this eventually have other losses? the losses seemed specific to cryoGAN. but perhaps some general losses could go in compSPI, like general L2 loss etc, in an optimization module. modules.py should definitely go in reconSPI. has discriminator ml_modules.py --> I agree, move to reconSPI save__image_utils --> ioSPI could have some visualize modules writer_utils --> not really sure what this does. needs more documentation.

    • If you do move cryoGAN to compSPI perhaps it makes sense to move the core functionality into reconSPI, since it is a reconstruction method.
    • There could be some common methods on any reconstruction method that are used.