Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.mso.anu.edu.au/~mwhite/pynifs-doc/pynifs.velfit-class.html
Дата изменения: Unknown Дата индексирования: Fri Feb 28 01:50:38 2014 Кодировка: Поисковые слова: trees |
Home | Trees | Indices | Help |
---|
|
A class to hold information by fitting multi-component Gaussians to a NIFS data cube. Attributes: restwavl - The rest wavelength used to determine line velocities. vmin - The minimum velocity value used for generating the spectrum to fit to. vmax - The maximum velocity value used for generating the spectrum to fit to. scidata - The scidata from the fitscube, trimmed down so that it only includes the data between vmin and vmax vars - The variance array from the fitscube, trimmed down to the velocity range of interest dq - The DQ pixel quality array from the fitscube, trimmed down to the velocity range of interest uncertest - A 2D masked array, of the same shape as the last two axes of scidata, which contains the uncertainty estimate for each spaxel. This uncertainty estimate is derived by determining the 1-sigma standard deviation of the science data in the original data cube, just outside the region of interest. xpts - The x-coordinates from the nifscube ypts - The y-coordinates from the nifscube vpts - The z-coordinates from the nifscube, re-expressed as km/s velocities. fitno - A 2D masked array, of the same shape as the last two axes of scidata, which holds the optimal number of components fit to each spaxel. This has been determined by a statistical F-test. fitorig - A 2D masked array, of the same shape as fitno. This is a copy of fitno, recorded BEFORE any masking if performed (i.e. by maskFits.) dof - A 2D masked array, of the same shape as the spatial axes of scidata, holding lists of length fitmax. Holds the degrees of freedom (dof) for each spaxel when fit with a number of Gaussian components, up to (and including) fitmax components. For example, the dof for a one-Gaussian fit to a given spaxel will be given by dof[j,i][0]. chisq - As for dof, however, it holds the chi-squared value (NOT REDUCED) for each fit to the spaxel. fits - A 2D masked array, of the same shape as scidata, holding the fit information for each spaxel. The elements of fits take the form of a list. The first element will be the fit parameters corresponding to a one-Gaussian fit, the next the parameters for a two-Gaussian fit, and so on. perror - As for fits, but holding the formal perror covariance matrix values for each fit. ftestlim - The maximum value allowed for an F-test ratio to be before the P-value is taken. Defaults to 1.4. ftestp - The maximum P-value permitted for two fits to be considered statistically different under the F-test. Defaults to 0.05 (5%). Methods: fitVelSpax - Computes a multi-dimensional Gaussian fit to one particular spaxel. plotSpaxSpec - Display the data, and fit components, for a particular spaxel.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
Compute a multi-component Gaussian fit to spaxel x=i, y=j in the velfits instance. Modifies the velfits instance in place. If params are not provided, the function uses the following algorithm to produce initial guesses: - Make a copy of the spaxel data - Find the highest data value within the range defined by vlim, use to give guess velocity shift and amplitude - Compute estimate for line width - Find nearest point to peak <= half the guess amplitude, compute where the line between the that point, and the next point towards the peak, is = half the guess amplitude - If the next point towards the peak is masked, use the line between the peak and the half-amplitude point instead - Compute the maximum allowed width for this fitted line, based on the guess velocity centroid - If guess width is above this value, adjust guess to 5.0 km/s below max allowed value - If guess width is below wmin, adjust guess to 5.0 km/s above max allowed value - Subtract the guessed Gaussian profile from copy of spaxel data - Repeat the procedure until there are enough guess parameters to fit comps components Inputs: velfits - The velfits instance to be acted upon. i - The x-index of the spaxel to be fitted. j - The y-index of the spaxel to be fitted. comps - The number of Gaussian components to fit to the spaxel spectrum. Defaults to 1. fixno - Boolean value denoting whether to force the spectrum to be fit with comps components (True), or to incrementally try a number of components from 1 to comps, stopping when the limiting reduced chi-squared is acheived (False). Defaults to False. ignoreamp - Boolean value specifying whether to consider the nifscube's stated amplitude limit when fitting. Defaults to False (any fits not conforming to the limit will be considered bad). quiet - Boolean value denoting whether or not the MPFIT fitting routine should be quiet or not. Defaults to False. params - Fitting parameters to be passed to the fitting routine. Intended for use when the automatic paramter finder produces unacceptable results. Requires fixno = True. Takes the form of a list composed of [background, amplitude, shift, width, amplitude....]. Defaults to None (at which point the automatic first-guess finding will be used.) vlim - A two-element list giving the minimum and maximum values allowed for ALL component centroids in the fits, in units of km/s. Defaults to None (where the minimum and maximum velocities present in the fitvels instance will be used as the limits. wmin - The minimum allowed line sigma to be fit. Note this does NOT represent a FWHM value. Defaults to 10.0 wpercent - The percentage of total line intensity allowed to be on the opposite side of v=0 to the line peak. Used to calculate an upper limit on the fitted line width. Must be a float between 0.0 and 1.0. Defaults to 0.10. wperspace - Expected percentage error on the initial guess for the line centroid velocity. Used in the calculation of maximum allowed fitted line width. Must be a float between 0.0 and 1.0. Defaults to 0.25. wmaxcut - Lower limit on maximum allowed fitted line width. Avoids the initial guess routine from trying to fit peaks of noise. Defaults to 50.0 km/s. alim - A two-element list giving the minimum and maximum values allowed for the amplitude of ALL fit components, in units km/s. Defaults to None (at which point, the amplitudes will only be limited to be positive). fixbg - Boolean value, specifying if the background height of the fits should be forced to 0.0 (True) or not. Defaults to False. snthresh - Signal-to-noise threshold - if spaxel is below this threshold, fits will still be made, but fitno[j,i] will then be set to 0 afterwards. Masking calculated by the maskFits function. Returns: Nil. The velfits instance is updated in place. The fit information for the i-th, j-th pixel will be updated as follows: If fixno = False, the fit information for the first multi-component fit that satisfies the rchisqlim for this velfits instance will be recorded. If all fits, up to and including the comps-component fit, do not satisfy this limit, no fit info (and empty list) will be recorded. If fixno = True, then the fit will be made blindly and recorded, with no regard to the reduced chi-squared limit. |
'Mask' spaxel if signal-to-noise is under the specified value. By 'mask', the no. of fits recorded for that spaxel will be set to 0. Signal-to-noise is determined as the ratio of the peak flux value recorded in the spaxel to the corresponding error of that data point. Inputs: i, j - Spaxel x- and y- indices, respectively. snthresh - The S/N threshold value. Any spaxels with an S/N less than this value will be 'masked'. Defaults to 7.5. Returns: Nil. fitvels instance is updated in-situ. |
Mask a particular pixel in the velfit instance. Inputs: i, j, k - The pixel's x-, y- and spectral indices respectively. Returns: Nil. The velfit instance is updated in-situ. |
Apply maskFits to every spaxel in the velfit instances. Inputs: snthresh - The S/N threshold for masking. Defaults to 5. Returns: Nil. fitvels instance updated in-situ. |
Plot the spectrum of a given spaxel, along with any fits made. Inputs: i - x-index of the spaxel in the fitvel instance j - y-index of the spaxel in the fitvel instance linewidth - Line widths of the plot components. Defaults to 2. plotpeak - Boolean value, denoting whether to plot the peak position (with errorbars) for each fit component. Defaults to True. highres - Boolean value, denoting whether to plot the fits at high velocity resolution (True), or a with the same sampling as the data (False). Defaults to False. plotresid - Boolean value, denoting whether to plot the fitting residual or not. Defaults to True. If plotted, residuals will be scaled such that they sit between -rsf times the maximum data value, and 0.0. rsf - Float value, indicating the scaling that should be applied to the residuals data. Residuals will then be scaled to be plotted between -rsf*data.max() and 0.0. Defaults to 0.2. ms - Float value, denoting the size of the markers used to plot the data. Defaults to 5. arcsecs - Boolean value, denoting whether to convert the data values into flux density per arcsec^2 (True), or leave them as flux density per pixel (False). Defaults to False. Outputs: Nil. The plot is made to the plotting region specified before the function is called (i.e. a whole figure, a subplot, etc.) |
Plots a pseudocolor image of the specified parameter in the velfit instance. Inputs: z - An integer code, corresponding to the parameter from the velfit that we wish to plot. Defaults to 0 (corresponds to plotting the total flux per spaxel, i.e. self.summed. The codes are: 0 - Number of fit components 1 - Spaxel chi-squared 2 - Spaxel degrees of freedom 3 - Spaxel reduced chi-squared 100 - Spaxel total flux 101 - Fit background height 102 - Spaxel peak flux 103 - Spaxel summed error 104 - Ratio of spaxel peak flux/spaxel average error 105 - Ratio of spaxel summed flux/spaxel summed error 106 - Ratio of spaxel peak flux/corresponding pixel error 111 - First component total flux 112 - Second component total flux ...and so on 121 - Spaxel fitted total flux 122 - Spaxel fitted total flux error 123 - Spaxel fitted total flux / total flux error 11 - First component peak flux 12 - First component line velocity 13 - First component line width 21 - Second component peak flux 22 - Second component line velocity 23 - Second component line width - ....and so on. Codes are currently included for up to three components. colorbar - A boolean value, denoting whether or not to include a colorbar. Defaults to True. colormap - A colormap instance, to be used as the colormap for the pseudocolor diagram. Must be passed as matplotlib.cm.*. Defaults to matplotlib.cm.jet. log - A boolean value, specifying whether to plot the data as is (False), or the base-10 log of the data (True). If True, the data parameter to be plotted will be masked wherever it is less than or equal to zero. Defaults to False. edged - Boolean vale, denoting whether to draw edges around each spaxel in the returned image. Defaults to False. Returns: plotted - The colorbar instance which has been plotted. This is required in order to add to the diagram later on, e.g. colorbar(plotted). Will plot a pseudocolor diagram of the requested parameter to the current figure/axes when called. If the requested parameter does not exist (i.e. asked to plot the third component amplitude on a two- component velfit), a message will be returned to the terminal, and nothing else will occur. |
Sums over the velocity range of the cube, and save the result to the summed array. Inputs: Nil. Returns: Nil. The summed attribute of the velfit instance is updated. |
Collapse the fluxes and fluxerr arrays to represent total flux, summed over all components that have been fit. Inputs: Nil. Returns: fluxsum - The array holding the summed flux values. fluxsumerr - The array holding the summex flux values. |
Returns the F-test information for all fits made to spaxel (i,j). Inputs: i, j - The x- and y-indices of the spaxel to be inspected. Returns: ftest - A list of list containing the F test information. Each element of the master list will be a three-element list, containing: - The number of components in the more complex fit - The F-ratio of this complex fit to the simpler fit before - The F-test P-ratio for the same comparison. |
Returns fit information (e.g. chi-sq, degrees of freedom) for the comps-component fit of the given spaxel. Inputs: i - The spaxel x-index j - The spaxel y-index comps - The parameter will be extracted from the fit information with this number of components. info - An integer code corresponding to the information wanted. Options are: 0 - number of fit components 1 - spaxel chi-squared 2 - spaxel degrees of freedom 3 - spaxel reduced chi-squared 4 - spaxel F-test information Returns: value - The requested information for this spaxel |
Returns a particular fit parameter for a given spaxel. Inputs: i - The spaxel x-index j - The spaxel y-index comps - The parameter will be extracted from the fit information with this number of components. info - An integer code corresponding to the information wanted. Options are: 0 - background amplitude 1 - fit amplitude, component A 2 - fit displacement (i.e. line velocity), component A 3 - fit FWHM (i.e. line width), component A 4 - fit amplitude, component B 5 - fit displacement (i.e. line velocity), component B ...and so on. Returns: parameter - The requested parameter from the relevant fit for this spaxel. perror - The formal covariance matrix error associated with this parameter for this spaxel. Note that this is NOT the formal error - the relevant chi-squared value and degrees of freedom will still need to be taken into account. |
Generates a masked array of fit information, as returned by returnInfo. The information returned will correspond to the best fit for each spaxel (as denoted in self.fitno). Inputs: info - An integer code denoting what information we want returned. These codes correspond to those found in returnInfo(). Returns: infoarr - A two-dimensional masked array, containing the requested information for each spaxel. Will take the same shape as the spatial dimension of the fitvels instance (i.e. the same shape as, say, fitno). |
Generates a masked array of fit parameters, as returned by returnFitInfo. The fit parameter returned will correspond to the best fit for each spaxel (as denoted in self.fitno). Inputs: info - An integer code denoting what information we want returned. These codes correspond to those found in returnFitInfo(). Returns: paramarr - A two-dimensional masked array, containing the requested information for each spaxel. Will take the same shape as the spatial dimension of the fitvels instance (i.e. the same shape as, say, fitno). paramperr - A two-dimensional masked array, containing the formal 1-sigma errors for the requested information. |
Save the current velfit to file. Inputs: filename - Filename to be saved to. Defaults to None, in which case a datetime stamp will be used to generate a file name. Returns: Nil. A file is saved to the current working directory containing this velfit instance. |
Find the spaxel index corresponding to the given velocity value. Inputs: z - The x-coordinate that we wish to find the spaxel index for Returns: k - The spaxel index corresponding to the passed velocity. |
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Fri Jan 3 16:10:27 2014 | http://epydoc.sourceforge.net |