Search Comments and Ratings

go

Comments and Ratings

   
Date File Comment by Comment Rating
09 Nov 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Dear Hui,

(1) Indeed 'p' doesn't exist, I will replace it with 'd' in the next update.

(2)
The scaling [1 1 1 0.1 0.1] is because the parameters are [translateX translateY rotate resizeX resizeY]. If you change the size of the image only a little bit it will produce large pixel movements. An optimizer produces the best result if all parameters have approximately the same influence on the image transformation, thus we introduced the scaling.

Dirk-Jan Kroon

03 Nov 2009 Bias Field Corrected Fuzzy C-Means Estimates the illumination artifact in 2D (color) and 3D CT and MRI and segments into classes. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*ciaiaia ccccccc
The error is very clear it cannot find the file, probably you executed the MEX command from a different folder ?

Otherwise try "mex -setup" to reset your compiler settings.

02 Oct 2009 Image Edge Enhancing Coherence Filter Toolbox Advanced 2D/3D noise removal and edge enhancing with anisotropic diffusion filtering ( Weickert ) Author: Dirk-Jan Kroon Kroon, Dirk-Jan

I uploaded a new version with derivative boundary check bug fixed, probably tomorrow online. thnx Elmar.

02 Oct 2009 Image Edge Enhancing Coherence Filter Toolbox Advanced 2D/3D noise removal and edge enhancing with anisotropic diffusion filtering ( Weickert ) Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Elmar
Thank you for sharing the solution for your NaN problem.
Now, I know it's probably caused by a boundary check problem.

Dirk-Jan

01 Oct 2009 Image Edge Enhancing Coherence Filter Toolbox Advanced 2D/3D noise removal and edge enhancing with anisotropic diffusion filtering ( Weickert ) Author: Dirk-Jan Kroon Kroon, Dirk-Jan

* Elmar,

Thank you for your report, I never experienced NaN's my self.
Maybe you can add a small value to rule out division by zero.

If you still have problems, maybe you can share a part of the volume data with me?

Thanx, Dirk-Jan

30 Sep 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*James Ford,

Thank you, for the comments.

I've made some improvements, fixed the bugs you pointed out and tested the code in Ubuntu, new version is probably online tomorow.

Dirk-Jan Kroon

12 Aug 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*jichao zhao
showcs3 always uses the default Matlab image ranges, thus if a double or single it sets black to 0 and white to 1, and if uint8 black to 0 and white to 255.
That your image range is 0 to 60 instead of 0 to 1 will influence registration, because the pixel based penalty will now be larger in comparison to the smoothness penalty.
I almost always normalize my data to range [0..1] by V=V-min(V(:)); V=V./max(V(:));

11 Aug 2009 FMINLBFGS: Fast Limited Memory Optimizer Quasi newton limited memory BFGS and Steepest decent optimizer for large amount of unknowns Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Rody Oldenhuis, thank you for your comment and compliments.

I have no experience with (in)equality constrained optimization, or are an expert on optimization, I just needed a good optimizer for my image registration.

Your OPTIMIZE() wrapper must be very good, because John D'Errico says well done ;-).

Please explain which options or other things have to be changed to let FMINLBFGS work with your function, then I will try to change those things in FMINLBFGS, and link in the description to your code, because people like Sergio Rossi here, need constrains.

In my image registration problems I always adjust my delta-step for finite-differences to be in the order of 1% of the current line-search step length. Those derivatives are more valid for larger steps lengths than with infinite small delta-steps, especially in case of noise or small oscillating functions. Maybe this is also the reason in your case.

05 Aug 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

* siamak yousefi
I have uploaded a new version which I've tested with masks, will probably be online tomorrow.

04 Aug 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

* Siamak Yousefi
1 : The (inverse) Affine Matrix is returned as variable "M" if you use the latest version (18)
2 : It is faster to already set:
- the 'similarity' option
- not use all outputs but only [Ireg,Grid,Spacing,M]
- do less refinements option 'MaxRef'
- Gaussian filter your images with imfilter and fspecial to remove noise, before starting the registration.

The fastest: is using no Mask, no Landmarks, in combination with 'sd' as similarity measure, because than it uses optimized gradient mex functions named bspline_error.

3 : Do you use version 18?, otherwise I'll try to find the bug.

30 Jul 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Dear Siamak,

The problem is that you use int16 as datatype, if you convert it to double or single with im2single or im2double, it will probably just work fine.

24 Jul 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*siamak,
You can find "Tools for NIfTI" on the Mathwork file-exchange. Those tools can be used to load your data in Matlab, and save the registration data afterward ...

22 Jul 2009 Viewer3D MIP, Color, Slice and Shaded 3D (shearwarp) Volume Rendering, interactive 3D view/measurement GUI Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Wenyuan
It runs on most Matlab versions, but not on the very old ones because Matlab figure file format changed in time, and saving to an older figure-file-format doesn't work that well.

14 Jul 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*christos
Sorry a little late, but yesterday I had time to work on my b-spline registration method.

Your 1th question, must masks be zero and ones?:
No the mask is just multiplied with the error image from the similarity measure, before summing up all errors. There is one exception mutual information, in which elements which are zero are simply discarded before calculation of the mutual information value.

2th, must images be the same size? :
Yes, they must be the same size also the masks. I fixed the mask resize bug you mentioned in version 17a which will probably be accepted by Mathworks this evening.

3th, Code image_difference reshape?:
This is an bug, I fixed it in version 17

4th , Mask are they already been tested?:
Only the 2D masks. I developed the masks to register the backgrounds of an angiogram, in which I masked out the coronary artery in the images. After registration of the backgrounds I subtracted them from the original movie to make the coronary artery better visible.

Thank you for your comments, and bug report.

10 Jul 2009 Hessian based Frangi Vesselness filter Enhancement of Vessel/ridge like structures in 2D/3D image using hessian eigen values Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Walter
I have checked the 2D eigenvalue code which was original written by M. Schrijver, and you are right the eigenvalues are not sorted in 2D by abs(value), (it is also not needed with angiogram images such as included). I will post an update today on Mathworks. Thank you again for your comment.

10 Jul 2009 Hessian based Frangi Vesselness filter Enhancement of Vessel/ridge like structures in 2D/3D image using hessian eigen values Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Walter
The c-code already contains an section which sort the eigen values by abs value, starting with the following comment:
/* Sort the eigen values and vectors by abs eigen value */

This implementation is made from Frangi paper, thus yes if Frangi is wrong and it must be sigma^2 instead of sigma it is also wrong in this current version of the code.

02 Jun 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

* aya b
Thank you for your comments, I fixed this LCC compiler error in release of today.
(you can also install the last lcc compiler or use another compiler)

14 Apr 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

* alib B,

I use the left-top of the image as (0,0) coordinate, and the transformation is done backwards.

09 Apr 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*MUNIER Mederic

Your segmentation fault when the affine transformation example shows the 3D data is caused by the fact that GUI's created by new Matlab versions are not 100% compatible with older Matlab versions, even if you set your save settings to an older setting.

Only solution is to not use show3d and use a simple imshow to show a slice, or upgrade to a recent Matlab version

26 Mar 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

I've tested the code with Matlab version 7.1.
With this old Matlab version, you must first replace the word "mwsize" (unsupported type) with "int" in all c-code files, and use a newer compiler than the default LCC.

26 Mar 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Dear MUNIER Mederic,

I never tested my scripts with Matlab version 7.1, but it should work. You can replace the multi-threaded code files with the single threaded files, maybe that will work?

Does the "segmentation fault", happen every time, you call example_3d_affine?, I have checked and tested the code again but couldn't find a bug...

25 Mar 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Dear Brett,

Thank you for the comment, this bug was unfortunately introduced by fixing a bug in the previous update, and is fixed in the update which will be on Mathworks.com today or tomorrow

15 Mar 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Am VR,

It is not that difficult to change the c-code files to work multi-threaded on Linux, it is simply replacing the windows functions such as _beginthreadex with pthread_create.

The code is now optimized for "shared caches": one thread does the even and another the odd image lines. With separate caches/processors it will be better to divide the image in several image regions.

When you add a large number of cpu-cores, the memory and the single-threaded Matlab code will be come the bottleneck instead of the cpu power.

---

I hope to release version 12 which uses not 2 but all available cores, and uses a new optimizer FMINLBFGS (also on mathworks) in a few days...

11 Mar 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Am VR,

Image 1 is a spherical distored version of Image 2. If you look at the registration result "Icor" you can notice that for instance the hat of Lena has shrinked to the size of the hat in image 2.

I know the nose in the image registration result still looks like the same as in image 1. This is because the grid is to coarse, and that is why image_registration.m uses grid refinement.

04 Mar 2009 non-rigid b-spline grid image registration Registration of two 2D/3D images, rigid and with smooth b-spline grid. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Thanks for your error report, I forgot to update the single threaded version of bspline_transform_3d_single.c , and will update the code today.

01 Dec 2008 Viewer3D MIP, Color, Slice and Shaded 3D (shearwarp) Volume Rendering, interactive 3D view/measurement GUI Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Cris Luengo
Thanks for your Feedback, I will use it in my nex file update.
(non-isotropically display, can done by viewer3d(Image, [2 1 1]) with [2 1 1] the scaling)

27 Nov 2008 DTI and Fiber Tracking Diffusion MRI (DTI), calculates FA, ADC, Vector Field, and will track and visualize neural tracts. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

I detected an error in the fiber tracking function when working on a version which could detect crossing and fiber splittings.

The smoothing of the vector/tensor field in FT.m, may not be done in this way: VectorF(:,:,:,1)=imfilter(VectorF(:,:,:,1),fspecial3('gaussian',[4 4 4]));
because a DTI vector is equal to a DTI vector pointing in the exact oppositie direction. With simple gaussian smoothing they will cancel each other out, which we don't want.

You can fix the function by removing the smoothing.

I hope to replace this smoothing with another smoothing algorithm, next file update.

13 Nov 2008 multimodality non-rigid demon algorithm image registration non-rigid 2D and 3D image registration with demon (fluid) algorithm, extended with modality transf. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*yichen fan
I have never seen this error.
Please have a look at the help of Mex : http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/mex.htm

Maybee Mex or the LCC compiler is not installed with Matlab.
You can also trie the single threaded c-code files...

07 Nov 2008 multimodality non-rigid demon algorithm image registration non-rigid 2D and 3D image registration with demon (fluid) algorithm, extended with modality transf. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Michel Kocher...
After this weekend i will add a (previous) single threaded version, which works with the Mac computer.

05 Nov 2008 Viewer3D MIP, Color, Slice and Shaded 3D (shearwarp) Volume Rendering, interactive 3D view/measurement GUI Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Tommorow (06-2008) a version with extended HTML help will be online

* Jean-Yves Tinevez
The TestVolume.mat example:
load TestVolume;
viewer3d(V);

04 Nov 2008 Viewer3D MIP, Color, Slice and Shaded 3D (shearwarp) Volume Rendering, interactive 3D view/measurement GUI Author: Dirk-Jan Kroon Kroon, Dirk-Jan

*Joaquim
Load View only works with Matlab files created by Save View. Some help can be found in menu -> help, and with help function.m in the console window.

31 Oct 2008 multimodality non-rigid demon algorithm image registration non-rigid 2D and 3D image registration with demon (fluid) algorithm, extended with modality transf. Author: Dirk-Jan Kroon Kroon, Dirk-Jan

Please upgrade to version 10b if you experience Matlab crashes with affine transformation in version 10.

 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com