At the lowest level, a dataset (for example an image) is just a collection of values, placed after each other in any number of dimensions (for example an image is a 2D dataset). Each data-element (pixel) just has two properties: its position (relative to the rest) and its value. The entire input dataset (a large image for example) is rarely treated as a singular entity for higher-level analysis103. You want to know the properties of the scientifically interesting targets that are embedded in it. For example the magnitudes, positions and elliptical properties of the galaxies that are in the image. MakeCatalog is Gnuastro’s program to derive higher-level information for pre-defined regions of a dataset. The role of MakeCatalog in a scientific analysis and the benefits of this model of data-analysis (were detection/identification is separated from measurement) is discussed in Akhlaghi . We strongly recommend reading this short paper for a better understanding of this methodology and use MakeCatalog most effectively. However, that paper cannot undergo any more change, so this manual is the definitive guide.
As discussed above, you have to define the regions of a dataset that you are interested in before running MakeCatalog. MakeProfiles currently uses labeled dataset(s) for this job. A labeled dataset for a given input dataset has the size/dimensions as the input, but its pixels have an integer type (see Numeric data types)104: all pixels with the same label (integers larger and equal to one) are used to generate the requested output columns of MakeCatalog for the row of their labeled value. For example, the flux weighted average position of all the pixels with a label of 42 will be considered as the central position105 of the 42nd row of the output catalog. Pixels with labels equal to or smaller than zero will be ignored by MakeCatalog. In other words, the number of rows of the output catalog will be determined from the labeled image.
The labeled image maybe created with any tool106. Within Gnuastro you can use these two solutions depending on a-priori/parametric knowledge of the targets you want to study:
|• Detection and catalog production:||Discussing why/how to treat these separately|
|• Quantifying measurement limits:||For comparing different catalogs.|
|• Measuring elliptical parameters:||Estimating elliptical parameters.|
|• Adding new columns to MakeCatalog:||How to add new columns.|
|• Invoking astmkcatalog:||Options and arguments to MakeCatalog.|
In low-level reduction/preparation of a dataset, you do in fact treat a whole image as a single entity. You can derive the over-all properties of all the pixels in a dataset with Gnuastro’s Statistics program (see Statistics)
If the program you
used to generate the labeled image only outputs floating point types, but
you know it only has integer valued pixels that are stored in a floating
point container, you can use Gnuastro’s Arithmetic program (see
Arithmetic) to change the numerical data type of the image
(flabel.fits) to an integer type image (label.fits) with a
command like below:
$ astarithmetic flabel.fits int32
See Measuring elliptical parameters for a discussion on this and the derivation of positional parameters.
For example, you can even use a graphic user interface image editing tool like the GNU Image Manipulation Program (or GIMP) and use Gnuastro’s ConvertType to convert it to a FITS file.