This package is for making, storing, fetching, and measuring data from pixeled images.
The most important class in gov.fnal.eag.sim is the PixeledImage Class, which manages information about one pixeled image. A pixeled image is a 2-Dimensional array of numbers from a detector. To evaluate these images, one must step through an image one pixel at a time and evaluate the value of that position.
Another important class is the DetectorObjectProfile. It defines what an astronomical object will look like in an image, using eight different parameters: x, y, nPhotons, shape, scale, ellipticity, theta, and Profiles. The x and y paramters determine the physical location of the object to be created. These are the coordinates for the center of the object. The number of photons determines the brightness of the object. The more photons in the object, the brighter it will appear. An object containing 1e6 photons is considered a very bright object in our simulations. Likewise, a star containing 100 photons is considered to be very faint. The shape of an object describes the distribution of photons throughout the pixels. In all of our simulations, we have used a guassian shape. The scale of an object denotes the size of the object. For a circle, the scale is the length of the diameter. For an ellipse, the scale is the length of the major-axis. This is given in number of pixels. The ellipticity of an object is given by the equation, 1-b/a, where a is the length of the major-axis and b the minor-axis. Theta for an object is the number of degrees between the major- axis and the x-axis increasing in the counterclockwise direction. The Profiles parameter has not been used in any other manner in our simulations but as a Profiles using the default constructor to this point.
Once an object is made, it needs to be measured. This is done in the Extractor class. The algorithms used in the Extractor class follow closely to the algorithms used in SExtractor. Extractor can smooth a pixeled image by convolving it with a kernel, find pixels above a given threshold, make a segment pixeled image of objects found, create a SourceObject of a specified object or of the object containing the highest number of pixels, set the minimum number of pixels to recognize as an object, and return the number of objects found. It is also able to detect background sky level and subtract that value from the PixeledImage before objects are detected.
A segment pixeled image is a pixeled image where all pixels are assigned an integer. Pixels assigned the same value are considered to be part of the same object. This is useful because if only one object is to be evaluated, you can look in the segment file and pick what pixels should be included.
SourceObject is the fourth class of importance. A SourceObject is a list of pixels that are included in an object. This combined with a PixeledImage make it possible to calculate simple sums. A SourceObject can be called with a list of pixels and a PixeledImage, or it may be called with just a PixeledImage. If this is the case, a list is generated that contains all of the pixels in the PixeledImage. Thus, the simple sums will not be just on an object, but the image as a whole. Simple sums are the various simple measurements that may be of interest to the user. They include:x, y, x2, y2, and xy. The values x and y are the center point for the object. The x2, y2, and xy values are the second moments of the position.
Simple sums are used in windowing. An already defined object, i.e. simple sums results, has a Gaussian added to it, and then measurements are retaken. This is done so that pixels near the center of an object are weighted more heavily than pixels near the edge of an object. Ideally the Gaussian used will be the same shape as the object. Because one cannot know the shape of an object until a measurement is completed, a window function is chosen, parameters are called, and then several iterations are done until things are no longer changing. An aperture correction must be applied to shape parameters.
Windowed measurements are good for circular things, like stars. Because galaxies are elliptical, the corrections made no longer apply and the technique does not work as well. For these situations an elliptically shaped window is used to weight the image. The measurements are corrected using a function that is minimized.
The software used for graphing was JfreeChart.