# HG changeset patch # User hauberg # Date 1287398970 0 # Node ID 8b58472d87e85004e8804c513d727da636ccf637 # Parent 8e084620fe5bbb8043c9bcfe41871312bb8e4fca Allow non-double images when using Fourier rotations diff --git a/inst/imrotate.m b/inst/imrotate.m --- a/inst/imrotate.m +++ b/inst/imrotate.m @@ -152,6 +152,8 @@ ## Now the actual rotations happen if (strcmpi(interp, "Fourier")) + c = class (imgPre); + imgPre = im2double (imgPre); if (isgray(imgPre)) imgPost = imrotate_Fourier(imgPre, thetaDeg, interp, bbox); else # rgb image @@ -160,6 +162,15 @@ endfor endif valid = NA; + + switch (c) + case "uint8" + imgPost = im2uint8 (imgPost); + case "uint16" + imgPost = im2uint16 (imgPost); + case "single" + imgPost = single (imgPost); + endswitch else [imgPost, valid] = imperspectivewarp(imgPre, H, interp, bbox, extrapval); endif