Home Geometrical transformation of a polygon to a higher resolution image
Reply: 0

Geometrical transformation of a polygon to a higher resolution image

user1650
1#
user1650 Published in June 19, 2018, 6:11 pm

I'm trying to resize and reposition a ROI (region of interest) correctly from a low resolution image (256x256) to a higher resolution image (512x512). It should also be mentioned that the two images cover different field of view - the low and high resolution image have 330mm x 330mm and 180mm x 180mm FoV, respectively.

What I've got at my disposal are:

  • Physical reference point (in mm) in the 256x256 and 512x512 image, which are refpoint_lowres=(-164.424,-194.462) and refpoint_highres=(-94.3052,-110.923). The reference points are located in the top left pixel (1,1) in their respective images.
  • Pixel coordinates of the ROI in the 256x256 image (named pxX and pxY). These coordinates are positioned relative to the reference point of the lower resolution image, refpoint_lowres=(-164.424,-194.462).
  • Pixel spacing for the 256x256 and 512x512 image, which are 0.7757 pixel/mm and 2.8444 pixel/mm respectively.

How can I rescale and reposition the ROI (the binary mask) to correct pixel location in the 512x512 image? Many thanks in advance!!

Attempt

% This gives correctly placed and scaled binary array in the 256x256 image 
mask_lowres = double(poly2mask(pxX, pxY, 256., 256.));
% Compute translational shift in pixel
mmShift = refpoint_lowres - refpoint_highres;
pxShift = abs(mmShift./pixspacing_highres)
% This produces a binary array that is only positioned correctly in the 
% 512x512 image, but it is not upscaled correctly...(?) 
mask_highres = double(poly2mask(pxX + pxShift(1), pxY + pxShift(2), 512., 
512.));
You need to login account before you can post.

About| Privacy statement| Terms of Service| Advertising| Contact us| Help| Sitemap|
Processed in 0.312541 second(s) , Gzip On .

© 2016 Powered by mzan.com design MATCHINFO