Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.mso.anu.edu.au/~mwhite/pynifs-doc/pynifs.nifscube-class.html
Дата изменения: Unknown
Дата индексирования: Fri Feb 28 01:50:45 2014
Кодировка:

Поисковые слова: vallis
pynifs.nifscube
Module pynifs :: Class nifscube
[hide private]
[frames] | no frames]

Class nifscube

source code


A class to hold all the information from a NIFS-produced data cube. The
class is capable of handling both single- and multie-extension FITS files.

Attributes:
scidata -   A three-dimensional masked array containing the science data.
            This has been loaded from either the PRIMARY header (for a
            single-extension FITS file) or the science header (for a multi-
            extenstion file.) scidata follows the Python convetion for
            reference indices, that is, if x and y are the spatial
            dimensions, and z is the spectral dimension, then data values
            can be found using scidata[z][y][x].
vars -      A three-dimensional masked array containing the variances of the
            data points.
dq -        A three-dimensional array holding the pixel quality flags for
            the data. Follows the NIFS convention of 0 = good pixel, 1 = bad
            (flagged) pixel)
xs, dx -    The first pixel value, and pixel increment, in the first
            spatial direction (x). These are simply the values of CRVAL1
            and CDELT1 from the FITS header, respectively.
ys, dy, -   As above, but for the second spatial dimension (y) and spectral
zs, dz  -   dimension (z) respectively. They are the values of
            CRVAL2/CDELT2 and CRVAL3/CDELT3, respectively.
xpts -      A single-dimensional numpy array containing the list of x-
            values for this data. These values are computed from the CRVAL1
            and CDELT1 in the FITS file header, and are stored in the same
            values as used in the header.
ypts, zpts- As above, but for the second spatial dimension (y) and the
            spectral dimension (z). Computed from CRVAL2/CDELT2 and
            CRVAL3/CDELT3 respectively.
nz,ny,nz -  Number of pixels in each dimension.
xu, yu -    Strings denoting the units of the spatial values. Almost always
            'arcsec'.
zu -        String denoting the units of the spectral values. Generally
            'A' (angstroms) or 'um' (microns).
pxoff -     Pixel coordinate offset (for use in plotting)
pyoff -     Pixel coordinate offset (for use in plotting)
xptsoff -   List of offset pixel coordinates (for use in plotting)
yptsoff -   List of offset pixel coordinates (for use in plotting)

du -        Units of the data

Methods:
getdata(self) -     Returns the data portion of the fitscube as a masked
                    array.
save(self) -        Saves a copy of the current nifscube object to disk,
                    using Python's pickle module. This is not the fastest
                    or most memory efficient method of doing this (writing
                    a long function to write a text file would be faster),
                    but is the simplest and less prone to read/write errors.

Instance Methods [hide private]
 
__init__(self) source code
 
getdata(self)
Returns the data content of scidata as a numpy array.
source code
 
save(self, filename=None)
Save the current fits cube to file.
source code
 
maskBadVars(self)
Mask any pixels in the 3D data structure that are assigned negative variance values (this will occur occasionally, if the DQ pixel array hasn't caught all the bad pixels.)
source code
 
returnSpaxSpec(self, i, j, wrange='all', vrange=None, restwavl=None)
Returns a spectrum from the specified spaxel, over the designated wavelength or velocity range.
source code
 
plotSpaxSpec(self, i, j, wrange='all', vrange=None, restwavl=None, linewidth=2)
Plots the spectrum from the selected spaxel over the designated wavelength or velocity range.
source code
 
extractApertureSpec(self, x, y, r, useoffsets=False)
Extract an average spectrum from a circular aperture of radius r centered on coordinates (x,y).
source code
 
subtractContSpectrum(self, restwavl, v1, v2, vdelt, apers, useoffsets=True)
Subtract a continuum spectrum from every spaxel in the data cube.
source code
Method Details [hide private]

getdata(self)

source code 

Returns the data content of scidata as a numpy array.

Inputs:
filename -  File to save to. Defaults to None, in which case a filename
            based on a date/time stamp will be used.

Returns:
nscidata - The scidata from the cube, as an (unasked) numpy array.

save(self, filename=None)

source code 

Save the current fits cube to file. Will be saved using a datetime
stamp as the file identifier.

Inputs:
filename -  File to save to. Defaults to None, in which case a filename
            based on a date/time stamp will be used.

Returns:
Nil. A file is saved to the current working directory containing this
fitscube instance.

maskBadVars(self)

source code 

Mask any pixels in the 3D data structure that are assigned negative variance values (this will occur occasionally, if the DQ pixel array hasn't caught all the bad pixels.)

Inputs: Nil.

Returns: Nil. The fitscube instance is updated in-situ.

returnSpaxSpec(self, i, j, wrange='all', vrange=None, restwavl=None)

source code 

Returns a spectrum from the specified spaxel, over the designated
wavelength or velocity range.

Inputs:
i, j -      Spaxel x- and y-indices, respectively.
wrange -    A two-component array, giving the start and end wavelengths
            to be plotted. Wavelengths must be passed in the same units
            as used in the fitscube instance. If set to None,
            plotSpaxSpec will then look for a designated velocity range
            and rest wavelength to plot. Can also be passed a special
            argument, 'all', in which case the entire recorded spectrum
            of the spaxel will be shown. Defaults to 'all'.
vrange -    A two-component array, giving the start and end radial
            velocities to plot. Must be passed in conjunction with a
            restwavl. If both a wrange and vrange are passed, the wrange
            will take precendence. Defaults to None. 
restwavl -  The rest wavelength to be used in determination of radial
            velocities, in m. Will not be considered if a wavelength range
            is provided instead. Must be passed in conjunction with a
            velocity range - if no rest wavelength is specified,
            plotSpaxSpec will return an error. Defaults to None.
            
Returns:
spec -      A one-dimensional masked array, containing the data values
            for this spaxel spectrum.
specvars -  The corresponding one-dimensional variance array for this
            spaxel spectrum.
specwavl -  A one-dimensional array, holding the wavelength markers
            (i.e. the x-axis values) for this spaxel spectrum. specwavl
            will be returned in the same units as the fitscube instance.

plotSpaxSpec(self, i, j, wrange='all', vrange=None, restwavl=None, linewidth=2)

source code 

Plots the spectrum from the selected spaxel over the designated
wavelength or velocity range.

Inputs:
i, j -      Spaxel x- and y-indices, respectively.
wrange -    A two-component array, giving the start and end wavelengths
            to be plotted. Wavelengths must be passed in the same units
            as used in the fitscube instance. If set to None,
            plotSpaxSpec will then look for a designated velocity range
            and rest wavelength to plot. Can also be passed a special
            argument, 'all', in which case the entire recorded spectrum
            of the spaxel will be shown. Defaults to 'all'.
vrange -    A two-component array, giving the start and end radial
            velocities to plot. Must be passed in conjunction with a
            restwavl. If both a wrange and vrange are passed, the wrange
            will take precendence. Defaults to None.
restwavl -  The rest wavelength to be used in determination of radial
            velocities, in m. Will not be considered if a wavelength range
            is provided instead. Must be passed in conjunction with a
            velocity range - if no rest wavelength is specified,
            plotSpaxSpec will return an error. Defaults to None.
linewidth - The line width to be used in the resulting plots. Defaults
            to 2.
            
Returns:
Nil. A plot is made to the current figure.

extractApertureSpec(self, x, y, r, useoffsets=False)

source code 

Extract an average spectrum from a circular aperture of radius r
centered on coordinates (x,y). Spaxels are included inside the aperture
based on their centre position.

No checking is done on the coordinate inputs. This means that you can
specify an aperture outside the extent of the cube. If the aperture
does not include any spaxel centres, an array of zeros will be returned.

Inputs:
x, y -          The x- and y-coordinates of the aperture centre, in
                units of fitscube.xu and fitscube.yu.
r -             The aperture radius, in units fitscube.zu.
useoffsets -    Optional. Boolean value specifying whether to use the
                offset coordinates (True) or not (False). Defaults
                to False.

Returns:
spec -  The average spectrum in the aperture. This is determined by
        summing together the spectra from the selected spaxels, and
        then dividing by the number of selected spaxels. Will be
        returned in units of fitscube.zu. This will be a
        one-dimensional array with the same dimensions as fitscube.zpts.

subtractContSpectrum(self, restwavl, v1, v2, vdelt, apers, useoffsets=True)

source code 

Subtract a continuum spectrum from every spaxel in the data cube.
Continuum spectrum is formed by averaging over a number of circular
apertures, scaling the continuum spectrum to match the science
spectrum over the region of interest, then subtracting.

Inputs:
restwavl -  The rest wavelength for determining the continuum windows.
            Must be given in units of m.
v1, v2 -    The start velocity of the velocity slices. Given in
            units of km/s.
vdelt -     The width of the velocity slices. Given in km/s.
apers -     List of tuples describing each aperture to be used.
            Should be given as [(x1, y1, r1), (x2, y2, r2), ...].
useoffsets -Optional. Boolean value specifying whether to use the
            offset coordinates (True) or not (False). Defaults to True.

Returns:
Nil. scidata array of fitscube instance is modified in place. Nothing
is done to the vars or dq arrays, as it is assumed that the continuum
is perfectly known from this procedure.