Extrapolating an image to give different resolution

How do you extrapolate an image to give different resolution?
I am currently working on a MRI image and I need to create different mesh size from the image but I dont know how to extrapolate the image to create a final image with .333 mm/pixel or 0.476mm.pixel.
Any suggestion(s) would be helpful.

 Accepted Answer

Instead of INTERP2 I'd prefer imresize(Img, [nROWS, nCOLS], 'lanczos3').
But to be exact: Every resizing add artifacts to the image. Of course it is necessary for some cases, e.g. an automatic comparison. But if anybody uses the method for cinical decision making keep in mind, that the results must be compared visually again using the original resolution. Do never, never, never plan a surgical operation, because the patient has a Moiree pattern!
I'm not joking. A lot of healthy legs and arms have been amputated due to missinterpreted images.

1 Comment

Ur method works but it does not preserve the edges of the image well. So I have developed a simple interpolation function to do it for me but my result is slightly less accurate.

Sign in to comment.

More Answers (1)

doc interp2 %slicewise
doc interp3 %volumewise
Places to start.

3 Comments

I used ur suggestion but it didnt work on the image. I tried interp1 and it give me a wrong answer.
What is size() and class() of your image?
Well what did you try? Please post the full code and any error messages you encountered. Also, did you try IMRESIZE per Jan's suggestion?

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Products

Asked:

on 12 Dec 2011

Edited:

on 25 Oct 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!