def __init__(self, filename, tile=None, invert=False, exposure=None,<EOL>float_precision=np.float64):
self.filename = filename<EOL>self.invert = invert<EOL>self.filters = None<EOL>self.exposure = exposure<EOL>if float_precision not in (np.float64, np.float32, np.float16):<EOL><INDENT>raise ValueError('<STR_LIT>' +<EOL>'<STR_LIT>')<EOL><DEDENT>self.float_precision = float_precision<EOL>image = self.load_image()<EOL>super(RawImage, self).__init__(image, tile=tile)<EOL>
An image object which stores information about desired region, exposure
compensation, color inversion, and filters to remove certain fourier
peaks.

Parameters
----------
filename : str
    Path of the image file. Recommended that you supply a relative path
    so that transfer between computers is possible, i.e. if the file is located
    at ``/home/user/data/1.tif`` then work in the directory ``/home/user/data``
    and supply the filename ``1.tif``.

tile : :class:`peri.util.Tile`
    the region of the image to crop out to use for the actual featuring, etc

invert : boolean
    Whether to invert the image.

exposure : tuple of numbers (min, max) | None
    If set, it is the values used to normalize the image. It is the
    values which map to 0 and 1 in the loaded version of the image, the
    default being for 8-bit images, mapping raw values (0, 255) to
    loaded values (0, 1). This functionality is provided since the
    noise and exposure may change between images where a common scaling
    is desired for proper comparison.  Setting this values allows a
    series of images to be initialized with the same ILM, PSF etc.
    Should be the bit value of the camera.

float_precision : numpy float datatype
    One of numpy.float16, numpy.float32, numpy.float64; precision
    for precomputed arrays. Default is np.float64; make it 16 or 32
    to save memory.