gini#

photutils.morphology.gini(data, mask=None)[source]#

Calculate the Gini coefficient of an array.

The Gini coefficient of the distribution of absolute flux values is calculated using the prescription from Lotz et al. 2004 (Eq. 6) as:

\[G = \frac{1}{\overline{|x|} \, n \, (n - 1)} \sum^{n}_{i} (2i - n - 1) \left | x_i \right |\]

where \(\overline{|x|}\) is the mean of the absolute value of all pixel values \(x_i\). If the sum of all pixel values is zero, the Gini coefficient is zero.

The Gini coefficient is a way of measuring the inequality in a given set of values. In the context of galaxy morphology, it measures how the light of a galaxy image is distributed among its pixels. A Gini coefficient value of 0 corresponds to a galaxy image with the light evenly distributed over all pixels while a Gini coefficient value of 1 represents a galaxy image with all its light concentrated in just one pixel.

Usually Gini’s measurement needs some sort of preprocessing for defining the galaxy region in the image based on the quality of the input data. As there is not a general standard for doing this, this is left for the user.

Negative pixel values are used via their absolute value. Invalid values (NaN and inf) in the input are automatically excluded from the calculation. If only a single finite pixel remains after filtering, the Gini coefficient is 0.0.

Parameters:
dataarray_like

The 1D or 2D data array or object that can be converted to an array.

maskarray_like, optional

A boolean mask with the same shape as data where True values indicate masked pixels. Masked pixels are excluded from the calculation.

Returns:
resultfloat

The Gini coefficient of the input array.

Raises:
ValueError

If mask is provided and does not have the same shape as data.