gift-surg / NiftyMIC

NiftyMIC is a research-focused toolkit for motion correction and volumetric image reconstruction of 2D ultra-fast MRI.
BSD 3-Clause "New" or "Revised" License
132 stars 32 forks source link

Processing performance #27

Open machur opened 2 years ago

machur commented 2 years ago

Hi, we started using your library and we are really pleased with the results. What a great package!

We have tested NiftyMIC on multiple MR T1 post contrast series of patients with brain metastases. Our main case is to reconstruct high-resolution 3D series from three orthogonal 2D projections with spacings between slices up to 8mm. The reconstructed images we received are great, but the processing lasted up to 2 hours for some data:

reconstruct_volume | Computational Time for Data Preprocessing: 0:00:01.133244 reconstruct_volume | Computational Time for Registrations: 0:34:09.471221 reconstruct_volume | Computational Time for Reconstructions: 1:24:53.866190 reconstruct_volume | Computational Time for Entire Reconstruction Pipeline: 2:00:46.653255

Is it possible to speed up the pipeline somehow e.g. by tuning the input parameters? Do you have any advice from your experience?

andrew-taylor-2 commented 1 year ago

Hello Machur! Sadly I don't have an answer for you, but I did want to ask you a question. What options do you use in reconstruction? Your use case is similar to mine, 3 orthogonal 2d images, and we have slices that are 5mm thick. My outputs are good but not great, so I was wondering how you ran it.

Thanks!

machur commented 1 year ago

Hi @andrew-taylor-2! We run it with the default parameters and the reconstruction results we were good enough for us (not perfect though).

Our dataset consisted of MR brain studies with thicknesses up to 8mm, but most scans had thicknesses between 2.5 and 5mm. Also for such scans, all slices were acquired in high quality and the pixel spacings were really low (usually much lower than 1mm). The major reconstruction artifacts were present on the skulls, but it was not a big issue since skull-stripping is one of the first steps in our pre-processing pipeline and the brains were extracted correctly.