cabouman / mbircone

BSD 3-Clause "New" or "Revised" License
11 stars 9 forks source link

NSI to MBIR parameter conversion #157

Closed dyang37 closed 8 months ago

dyang37 commented 8 months ago

This PR contains the updates regarding the parameter calculation from NSI parameters to MBIR parameters.

With this update, we are able to consistently produce high-resolution MBIR reconstructions for NSI datasets.

Interface change

Function "NSI_load_scans_and_params" accepts a new variable "geom_report_path", which specifies the path to "Geometry Report.rtf" file. Screen Shot 2024-02-28 at 5 00 12 PM

Implementation

This PR contains a lot of changes, but the core changes are the following two lines in "preprocess.py": Screen Shot 2024-02-28 at 2 56 38 PM These two lines correspond to the following two functions that we discussed and agreed on: Screen Shot 2024-02-28 at 5 18 50 PM

Dependency change:

A new dependency "striprtf" is added to "requirements.txt". This package is used to read rtf file.

Image quality testing:

As we saw in my weekly slides, the image resolution is tested with five datasets. In all cases the nominal MBIR parameters produce the best reconstruction quality and resolution.

Demo scripts:

The NSI demo scripts are updated accordingly. you may run "demo_nsi_preprocess.py" to ensure that there are no bugs in the code. I sent out the updated datasets in a separate email.

dyang37 commented 8 months ago

Close this PR for further modifications.

dyang37 commented 8 months ago

Modification finished. PR is ready for testing. You may test the code by running demo_nsi_preprocess.py. This demo takes ~20 minutes on a Mac studio.

dyang37 commented 8 months ago

Closing the PR for some final modifications.

dyang37 commented 8 months ago

I modified the comments and the demo scripts based on the feedback this morning. Could you test the code by running "demo_nsi_proprocess.py", and accept the PR?

cabouman commented 8 months ago

I ran the demo, and it worked fine. I'm going to accept this PR. I'm sure it can be improved, but it's good enough, and we can make further improvements with additional PRs.