imresize3 function in older version of matlab
1 view (last 30 days)
Show older comments
Hello, I'm using matlab R2016a version and I need to use imresize3 function. Is there any place where can I download this function, or any alternative of this function I can use in my version of Matlab? I just need to fit 168*168*135 PET image to 512*512*448 CT image. Thanx for help
0 Comments
Accepted Answer
Rik
on 16 Nov 2017
Edited: Rik
on 16 Nov 2017
This thread is from before the introduction of this function, so that might help you find a solution for older releases. I took the liberty of copying one of the answers below. It uses functions that aren't in the Matlab base, so you'll need the image processing toolbox (I'm assuming that isn't a problem, as imresize3 is as well, unlike imresize).
T = maketform('affine',[x_scale 0 0; 0 y_scale 0; 0 0 z_scale; 0 0 0;]);
R = makeresampler({'cubic','cubic','cubic'},'fill');
ImageScaled = tformarray(Image,T,R,[1 2 3],[1 2 3], round(size(Image)*x),[],0);
2 Comments
Walter Roberson
on 24 Apr 2020
x is x_scale, sort of. The original example at https://stackoverflow.com/questions/12520152/resizing-3d-matrix-image-in-matlab was only for scaling by a constant ratio in each dimension. For different ratios in each dimension you would want
T = maketform('affine',[x_scale 0 0; 0 y_scale 0; 0 0 z_scale; 0 0 0;]);
R = makeresampler({'cubic','cubic','cubic'},'fill');
ImageScaled = tformarray(Image,T,R,[1 2 3],[1 2 3], round(size(Image).*[x_scale, y_scale, z_scale]),[],0);
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!