function sleazy_rot, item1, img, time_in, time_out, roll=roll, rot_func=rot_func, $
  quintic=quintic, display=display, off_limb=off_limb


 if n_elements(roll) eq 0 then roll = 0
 if n_elements(quintic) eq 0 then quintic = 0

 disk_coords = get_disk_coords(item1,img,display=display)

 siz_item1 = size(item1)
 if siz_item1(n_elements(siz_item1)-2) eq 8 then begin
;   for SXT
   rb0p = get_rb0p(item1)
   img_res = gt_res(item1)
   img_cen = sxt_cen(item1)/2.^img_res
   xcen = img_cen(0) & ycen = img_cen(1)
   radius = rb0p(0)/(gt_pix_size()*2.^img_res)
   roll = get_roll(item1)
   time = fmt_tim(item1);   in this case time_in is ignored
 endif else begin
   xcen = item1(0)
   ycen = item1(1)
   radius = item1(2)
;   time = item1(3)
   time = time_in
 endelse

; Convert to heliographic coordinates, rotate, convert back
helio = conv_p2h([disk_coords(0,*), disk_coords(1,*)], time, $
          suncenter=[xcen,ycen], radius=radius, roll=roll, $
          off_limb=off_limb)

 delt = (int2secarr([fmt_tim(time),fmt_tim(time_out)]))(1)/86400d0
 helio_rot = diff_rot(delt, helio(1,*), /howard)    

 helio(0,*) = helio(0,*) + helio_rot
 helio_rot = 0              ;reduce memory

 xy_rot = conv_h2p(helio, time_out, suncenter=[xcen,ycen], $
           radius=radius, roll=roll, behind=behind)

 ss_behind = where(behind eq 1, n_behind) 
 ss_front = where(behind ne 1, n_front) 

 if n_front eq 0 then $
   print,' SOL_ROT: All pixels are behind the limb.'

 if n_behind ge 1 and n_front ge 1 then $
   print,' SOL_ROT: There are some pixels behind the limb'

 x0 = disk_coords(0,ss_front)
 y0 = disk_coords(1,ss_front)

 x1 = xy_rot(0,ss_front)
 y1 = xy_rot(1,ss_front)

 img_rot = warp_tri(x1,y1,x0,y0,img,quintic=quintic)

return, img_rot

end