aehrc / Mirorr

Mirorr: Multimodal Image Registration using blOck-matching and Robust Regression
Other
27 stars 11 forks source link

Can't build in windows #1

Closed rakesh1087 closed 9 years ago

rakesh1087 commented 9 years ago

I have been working on MR-CT registration of the prostate and wanted to try Mirror. I usually work on Windows and Mirror doesnt seem to build. You say you need boost but the Cmake lists doesnt have an option to set path to boost. Could you give me some more details about building it on Windows.

Thanks.

drhenault commented 9 years ago

Hi rakesh, I work in a pretty Linux centred environment, but I will attempt to compile Mirorr today on Windows 7 64bits Enterprise with Visual Studio Community 2013. I believe a fix could be released soon (today, tomorrow). It might be helpful if your share some information about your platform too (Windows version / compiler).

rakesh1087 commented 9 years ago

Hi David,

Thanks for the quick response. I work on Windows 7, 64 bit and use Visual Studio Express 2013 for compiling and building.

Rakesh

drhenault commented 9 years ago

Hi Rakesh,

The latest commit should fix this. You will have to provide a path to CMake through the BOOST_ROOT variable (CMake now warns you about that). If the program compiles, but you run into linker error LNK1112, try re compiling Boost with ".\b2 address-model=64". Apparently the Bjam build manager does not configure correctly the build for 64bits machines. Did a quick test, and the program gave the same results on Linux and Windows.

Cheers, David

rakesh1087 commented 9 years ago

Built fine. Had to specify the path to Boost in the CMake file. Thanks for the Windows version.

I am still reading the help to use it. But I am a bit surprised that just an affine registration would help register the prostate. Will that account for the deformation of the prostate from MR to CT?

drhenault commented 9 years ago

I'm glad the Windows version is working. To get started, I believe the quickest way is just tweaking the test.bat (Windows) or test.sh (Linux) to fit your data.

Related to the compensation of deformation, we found that Mirorr gives us a very good rigid or affine starting point even is presence of non-rigid deformation (affine is not always a huge improvement, and I tend not to do it for intra-patient). For some application, that's all that is needed.

For a better match of CT-MR intra-patient scans for atlas construction we apply another non-rigid registration method after Mirorr: http://link.springer.com/chapter/10.1007/978-3-319-05666-1_9 (Structure-Guided Nonrigid Registration of CT–MR Pelvis Scans with Large Deformations in MR-Based Image Guided Radiation Therapy). For improved inter-patient MR-MR matching, you can try using a regular non-rigid registration method (again after applying Mirorr), such as NiftyReg of Demons.

rakesh1087 commented 9 years ago

Thanks David. I will try it out. Also I was able to build only in the Debug mode. Throwing up a lot of errors in the Release mode - I am still checking if something is wrong with my ITK build. Would also suggest if you can provide executables of Mirror in future. That will make things simpler to try.