mangadap.proc.spatialbinning module

Binning!


License

Copyright © 2019, SDSS-IV/MaNGA Pipeline Group


class mangadap.proc.spatialbinning.GlobalBinning[source]

Bases: SpatialBinning

Class that performs the global binning.

static bin_index(x, y, gpm=None, par=None)[source]

Bin the data and return the indices of the bins.

The calling sequence is just needed to match the expectation for a SpatialBinning object.

Parameters:
  • x (numpy.ndarray) – Fiducial on-sky X position of each spectrum. X increases with RA. Only used to set the size of the returned array.

  • y (numpy.ndarray) – Not used.

  • gpm (numpy.ndarray, optional) – Good value (pixel) mask used to select data that should be included in the bin. If None, all values are considered valid. If provided, masked values (gpm=False) are given a bin index of -1.

  • par (object, optional) – Not used.

Returns:

An integer bin index for each spectrum.

Return type:

numpy.ndarray

class mangadap.proc.spatialbinning.RadialBinning(par=None)[source]

Bases: SpatialBinning

Class that performs the radial binning.

_r_start_step(r)[source]

Bin starting radii are:

rs = self.par['radii'][0]
re = self.par['radii'][1]
nr = int(self.par['radii'][2])
starting_radii = numpy.logspace(numpy.log10(rs), numpy.log10(re), num=nr,
                                endpoint=False) if self.par['log_step'] else                              numpy.linspace(rs, re, num=nr, endpoint=False)

For ending radii, just swap rs and re above.

Parameters:

r (numpy.ndarray) – Fiducial radius of each spectrum.

bin_area()[source]

Return the nominal area for each elliptical bin.

Returns:

Array with the analytic on-sky area of each elliptical bin in square arcsec given its radial limits.

Return type:

numpy.ndarray

Raises:

ValueError – Raised if par is None.

bin_index(x, y, gpm=None, par=None)[source]

Bin the data and return the indices of the bins.

Parameters:
  • x (numpy.ndarray) – Fiducial on-sky X position of each spectrum. X increases with RA.

  • y (numpy.ndarray) – Fiducial on-sky Y position of each spectrum. Y increases with DEC.

  • gpm (numpy.ndarray, optional) – Good value (pixel) mask used to select data that should be included in the bin. If None, all values are considered valid. If provided, masked values (gpm=False) are given a bin index of -1.

  • par (RadialBinningPar, optional) – Binning parameters. Cannot be None.

Returns:

An integer bin index for each spectrum.

Return type:

numpy.ndarray

Raises:

ValueError – Raised if the sizes of x and y do not match or if par is None.

class mangadap.proc.spatialbinning.RadialBinningPar(center=[0.0, 0.0], pa=-1, ell=-1, radius_scale=-1, radii=[-1, -1, 10], log_step=False)[source]

Bases: KeywordParSet

Class with parameters used by the radial binning algorithm. See mangadap.par.parset.ParSet for attributes.

The defined parameters are:

Key

Type

Options

Default

Description

center

ndarray, list

A two-element array defining the center to use in the definition of the elliptical bins. This is defined as a sky-right offset in arcseconds from the nominal center of the object.

pa

int, float

Sets the position angle, defined from N through E of the major axis of the isophotal ellipse used to define the elliptical bins. Set to <0 to indicate that the value should be filled by the metadata in the reduction assessment class; see fill().

ell

int, float

Sets the ellipticity (1-b/a) of the isophotal ellipse use to define the elliptical bins. Set to <0 to indicate that the value should be filled by the metadata in the reduction assessment class; see fill().

radius_scale

int, float

Defines a scale factor to use when defining the radial bins. For example, you might want to scale to the a certain number of effective radii or physical scale in kpc. For no scale, use 1.0. Set to <0 to indicate that the value should be filled by the metadata in the reduction assessment class; see fill().

radii

ndarray, list

A three-element array defining the starting and ending radius for the bin edges and the number of bins to create. If the starting radius is -1, the inner-most radius is set to 0 when not using log bins or 0.1 arcsec when using logarithmically spaced bins. If the ending radius is -1, the outer-most radius is set by the spaxel at the largest radius.

log_step

bool

A flag that the radial bins should be a geometric series.

fill(rdxqa)[source]

Use the metadata in the reduction assessment results to fill out the binning parameters.

fromheader(hdr)[source]

Copy the information from the header.

Parameters:

hdr (astropy.io.fits.Header) – Header object to read from.

toheader(hdr)[source]

Copy some of the parameters to a header. :param hdr: Header object to write to. :type hdr: astropy.io.fits.Header

Returns:

Edited header object

Return type:

astropy.io.fits.Header

Raises:

TypeError – Raised if input is not an astropy.io.fits.Header object.

class mangadap.proc.spatialbinning.SpatialBinning(bintype, par=None)[source]

Bases: object

Base class for spatially binning data.

static bin_index(x, y, gpm=None, par=None)[source]

Undefined in base class. Just provides expected calling sequence.

class mangadap.proc.spatialbinning.SquareBinning(par=None)[source]

Bases: SpatialBinning

Class to perform binning of full cube in square apertures Length of aperture side is given in arcsec with binsz

bin_index(x, y, gpm=None, par=None)[source]

Bin the data and return the indices of the bins.

Parameters:
  • x (numpy.ndarray) – Fiducial on-sky X position of each spectrum. X increases with RA.

  • y (numpy.ndarray) – Fiducial on-sky Y position of each spectrum. Y increases with DEC.

  • gpm (numpy.ndarray, optional) – Good value (pixel) mask used to select data that should be included in the bin. If None, all values are considered valid. If provided, masked values (gpm=False) are given a bin index of -1.

  • par (SquareBinningPar, optional) – Binning parameters. Cannot be None.

Returns:

An integer bin index for each spectrum.

Return type:

numpy.ndarray

Raises:

ValueError – Raised if the sizes of x and y do not match or if par is None.

class mangadap.proc.spatialbinning.SquareBinningPar(binsz=2.0)[source]

Bases: KeywordParSet

Class with parameters used by the square binning algorithm. See mangadap.par.parset.ParSet for attributes.

The defined parameters are:

Key

Type

Options

Default

Description

binsz

float

Desired bin size in arcsec

fromheader(hdr)[source]

Copy the information from the header.

Parameters:

hdr (astropy.io.fits.Header) – Header object to write to.

toheader(hdr)[source]

Copy some of the parameters to a header.

Parameters:

hdr (astropy.io.fits.Header) – Header object to write to.

Returns:

Edited header object

Return type:

astropy.io.fits.Header

Raises:

TypeError – Raised if input is not an astropy.io.fits.Header object.

class mangadap.proc.spatialbinning.VoronoiBinning(par=None)[source]

Bases: SpatialBinning

Class that wraps the contributed voronoi binning code.

bin_index(x, y, gpm=None, par=None)[source]

Bin the data and return the indices of the bins.

Parameters:
  • x (numpy.ndarray) – Fiducial on-sky X position of each spectrum. X increases with RA.

  • y (numpy.ndarray) – Fiducial on-sky Y position of each spectrum. Y increases with DEC.

  • gpm (numpy.ndarray, optional) – Good value (pixel) mask used to select data that should be included in the bin. If None, all values are considered valid. If provided, masked values (gpm=False) are given a bin index of -1.

  • par (RadialBinningPar, optional) – Binning parameters. Cannot be None.

Returns:

An integer bin index for each spectrum.

Return type:

numpy.ndarray

Raises:

ValueError – Raised if the sizes of x and y do not match, if par is None, if various checks of the signal, noise, or covariance elements are incorrectly matched.

sn_calculation_calibrate_noise(index, signal, noise)[source]

Calculate the S/N using a calibration of the S/N to account for covariance. See covariance_calibrated_noise().

The calibration parametrs are kept internally using covar.

Parameters:
Returns:

The nominal signal-to-noise reached by summing the measurements selected by index, after applying the covariance calibration.

Return type:

float

sn_calculation_covariance_matrix(index, signal, noise)[source]

Calculate the S/N using a full covariance matrix.

The method uses the internal covar.

Parameters:
Returns:

The nominal signal-to-noise reached by summing the measurements selected by index, including any covariance.

Return type:

float

sn_calculation_no_covariance(index, signal, noise)[source]

S/N calculation built to match the requirements of mangadap.contrib.voronoi_2d_binning().

This calculation is identical to the one provided directly by the code.

Parameters:
Returns:

The nominal signal-to-noise reached by summing the measurements selected by index.

Return type:

float

class mangadap.proc.spatialbinning.VoronoiBinningPar(target_snr=10.0, signal=None, noise=None, covar_mode=None, covar_par=None)[source]

Bases: KeywordParSet

Class with parameters used by the Voronoi binning algorithm.

See mangadap.par.parset.ParSet for attributes. See vorbin for the main algorithm.

The defined parameters are:

Key

Type

Options

Default

Description

target_snr

int, float

The target S/N for each bin.

signal

ndarray, list

The array of signal measurements for each on-sky position to bin. See fill() to fill this based on the data in the reduction assessments object.

noise

ndarray, list

The array of noise measurements for each on-sky position to bin. If not provided, covar must be provided and be a full covariance matrix. See fill() to fill this based on the data in the reduction assessments object.

covar_mode

str

none, calibrate, matrix

The mode used to incorporate covariance into the binning algorithm. Can be none to ignore covariance, calibrate to use a calibration that adjusts the nominal error for the effect of covariance, or matrix to use a full covariance matrix in the noise calculation.

covar_par

float, list, ndarray, Covariance, spmatrix

Covariance matrix or calibration normalization parameters. For the latter, the value is used to renormalize the noise using \(n_{\rm calib} = \eta\ n_{\rm nominal}. See :func:`~mangadap.proc.util.covariance_calibrated_noise\). See:func:fill to fill this based on the data in the reduction assessments object.

fill(rdxqa)[source]

Use the data in the reduction assessment results to fill out the binning parameters.

fromheader(hdr)[source]

Copy the information from the header.

Parameters:

hdr (astropy.io.fits.Header) – Header object to read from.

toheader(hdr)[source]

Copy some of the parameters to a header.

Parameters:

hdr (astropy.io.fits.Header) – Header object to write to.

Returns:

Edited header object

Return type:

astropy.io.fits.Header

Raises:

TypeError – Raised if input is not an astropy.io.fits.Header object.