ANSI-C program: rotate_image.c
NAME
  rotate_image -  Rotate an image about the image center by a
  specified angle.
SYNOPSIS
  rotate_image <data_in> <width_in>
  <angle> <data_out> <width_out>
  <nlines_out> [interp_mode] [format_flag]
| <data_in> | (input) data file (format as specified by format_flag parameter) | 
| <width_in> | width of input data file | 
      
| <angle> | rotation angle, angle > 0: counter-clockwise
        rotation (deg.) | 
      
| <data_out> | (output) output data file | 
| <width_out> | output image width, (enter - for default) | 
| <nlines_out> | number of lines in the output image, (enter - for default) | 
| [interp_mode] | interpolation mode: 0: nearest-neighbor 1: bicubic spline (default) 2: bicubic-log spline 3: bicubic spline sqrt(x)  | 
      
| [format_flag] | input and output data format 0: FLOAT (default) 1: FCOMPLEX 2: SUN raster/BMP format 3: UNSIGNED CHAR 4: SHORT  | 
      
EXAMPLES:
  
 rotate_image diff_ts_009 600 35.
  diff_ts_009r35 - - 1 0
  disrmg diff_ts_009r35 - 835
Rotate the floating point image of unwrapped phase
  diff_ts_009 by 35
  degrees counter-clockwise. The input image had a width of 600
  samples and contained 600 lines.  The output image
  dimensions are calculated so that they enclose the rotated image.
  Bicubic spline interpolation is used as the interpolation method.
  The output image  width is 835 samples and can be displayed
  using disrmg. The
DESCRIPTION
  rotate_image is program
  that rotates images about the image center by a specified angle.
  The output image size can either be calculated from the input
  image or specified on the command line. The center of the input
  image maps to the center of the output image. The user 
  enters "-" for the size of the output image size parameters to
  select that these be calculated from the image bounds.  
Valid input/output data formats are float, fcomplex, unsigned char, and raster image (SUN or BMP) format. Either cubic spline or a nearest neighbor interpolation can be selected. In the case of complex-valued data the real and imaginary partare interpolated independently. In the case of unsigned char and SUN raster format only the nearest-neighbor resampling algorithm isavailable.
The bicubic spline of the log(data) or bicubic spline of the sqrt(data) interpolation transforms the input values, performs the interpolation, and converts the interpolated data back to linear scale. For interpolationof SAR intensity, data converted to log scale or using sqrt() has the advantage that no negative values are generated in theinterpolation, even for very noisy data. The output is the interpolated values converted back to linear scale. In order to avoid problems withnegative values (log or sqrt not defined) the absolute value of the input values is used.
SEE ALSO
  typedef_ISP.h, typedef_DIFF.h.