Annular Sector Coordinate System

NOTE: The following applies only to the non-visibility based algorithms (back projection, clean , forward fit, and pixon as of March 2011).

Although the images generated by the RHESSI software are returned in Cartesian coordinate space, internally the software uses the annular sector coordinate system (ANNSEC) for all non-visibility based algorithms.  ANNSEC is a polar coordinate system that allows for a greatly compressed representation of the modulation patterns used to reconstruct images. 

The user requests a rectangular FOV by specifying the image dimensions and pixel size in the x and y directions.  The software expands the region slightly so that it can work in a section of an annulus centered on the image axis that encloses the requested rectangle. 

The algorithm object class returns the image in ANNSEC coordinates.  The high-level image object class that you usually work with (hsi_image) converts the image to XY coordinates, so you don't usually deal with the image in ANNSEC coordinates.  However, if you request an image from one of the lower-level objects (hsi_bproj, hsi_clean, etc.) , you will notice that the dimensions are slightly larger than you requested (e.g. 33x33 when you requested 32x32) because they are in ANNSEC coordinates.  You can convert to XY coordinates yourself by calling

image_xy = hsi_annsec2xy( image_annsec, o, NOQUINTIC=noquintic )

where

o is the image object
image_annsec is the image in ANNSEC coordinates
noquintic is 0 or 1 depending on whether you want quintic interpolation, and
image_xy is the image in XY coordinates.

To convert from XY to ANNSEC coordinates you could call

image_annsec = hsi_xy2annsec(image_xy, o, ...)