MATLAB Answers

Longitudinal Cut View at Certain Angle

7 views (last 30 days)
Arsalan Akbar
Arsalan Akbar on 3 May 2018
Answered: Jun Tan on 13 May 2018
Hi
I'm a beginner in Image processing . I have a Multi frame Image with consist of 271 frames . i want to cut this image at certain angle (like 45 deg) to get its longitudinal view . I have the upper part of the image and want to get lower view . But i'm not able to get this . here i have attached the code . can anyone please help me in this
for frame=1:271
[mri(:,:,:,frame),map] = imread('image.tif',frame);
end
for slice = 1: 271
angle = 45;
xcentre = floor(size(Image, 2) / 2);
ycentre = floor(size(Image, 1) / 2);
xtop = xcentre + ycentre / tan(angle);
yright = ycentre - (size(Image, 2) - xcentre) * tan(angle);
xbottom = xcentre - (size(Image, 1) - ycentre) / tan(angle);
yleft = ycentre + xcentre * tan(angle);
if xtop < 0 || xtop > size(Image, 2)
x = [1, size(Image, 2)];
y = [yright, yleft];
else
x = [xbottom, xtop];
y = [size(Image, 1), 1];
end
% x = [1, size( mri(:,:,:,slice), 2)];
% y = [1, size( mri(:,:,:,slice), 1)];
[linex, liney, ~] = improfile(mri(:, :,:, slice), x, y);
sliceimage = mri(sub2ind(size(mri), ...
repmat(round(liney), 1, size(mri, 3)), ...
repmat(round(linex), 1, size(mri, 3)), ...
repmat(1:size(mri, 3), numel(linex), 1)));
if slice == 1
image3D = sliceimage;
else
image3D = cat(2, image3D, sliceimage);
end
end
image(image3D);
colormap(gray(256))

  0 Comments

Sign in to comment.

Answers (2)

Yuvaraj V
Yuvaraj V on 3 May 2018
Check below link.
https://in.mathworks.com/matlabcentral/answers/210394-how-to-divide-an-image-diagonally-into-two-part

  1 Comment

Arsalan Akbar
Arsalan Akbar on 3 May 2018
this is not what i'm looking for...
as it cut the image in upper and lower triangle but i want to cut the image with some angle

Sign in to comment.


Jun Tan
Jun Tan on 13 May 2018
You can use "imrotate" on each slice then obtain the longitudinal cut view along the central axis without worrying about interpolation.

  0 Comments

Sign in to comment.