|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.mso.anu.edu.au/~mwhite/pynifs-doc/pynifs.nifscube-class.html
Дата изменения: Unknown Дата индексирования: Fri Feb 28 01:50:45 2014 Кодировка: Поисковые слова: sun |
| Home | Trees | Indices | Help |
|---|
|
|
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.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
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 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.
|
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. |
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.
|
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.
|
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.
|
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.
|
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Fri Jan 3 16:10:27 2014 | http://epydoc.sourceforge.net |