Extract the (weighted) flux in each spectral order class extractOrdersSimpleSumCosmicsRemoved(PipelineComponent): More...
Public Member Functions | |
def | __init__ |
Make a Hermes component and initialize variables. | |
def | optionsAreValid |
read user-defined values | |
def | makeFileName |
This builds the correct filenames for fiber LRF_WRF It is always used to build the output file name. | |
def | __call__ |
run begins here | |
Public Member Functions inherited from hermes.pipeline.core.pipelinecomponent.PipelineComponent | |
def | __init__ |
def | __call__ |
def | optionsAreValid |
def | getOptions |
def | setOptions |
def | checkExistShapeUnits |
def | isOption |
Public Attributes | |
imageNumber | |
Default values. | |
isDebug | |
User may set this flag in order to get intermediary result files generated in the debug folder. | |
BlemishedPixelsMasked | |
User may eventually discard this feature. | |
compareExtractionMethods | |
User may eventually discard this feature. | |
checkValidityCrossorderProfile | |
User may eventually discard this feature. | |
areVirtualEdgeOrdersAdded | |
User may eventually discard this feature. | |
removeCosmics | |
User may eventually discard this feature. | |
fsafe | |
User gives another fsafe value for cosmic clipping check overwriting values in run/absoluteDRS. More... | |
fcrit | |
User gave another fcrit value for cosmic removal check overwriting values in run/absoluteDRS. | |
results | |
Public Attributes inherited from hermes.pipeline.core.pipelinecomponent.PipelineComponent | |
options | |
logger | |
ConsoleLogSeverity | |
default value | |
canShowGraphics | |
when machine does not run matplotlib. More... | |
Extract the (weighted) flux in each spectral order class extractOrdersSimpleSumCosmicsRemoved(PipelineComponent):
PURPOSE : This module 'sums' the flux in a given detector row over all pixels contributing to the same bin in a specific spectral order. The algorithm assumes that the flux can be computed as a weighted sum of the fluxes on the contributing pixels (at least background and bias subtracted) over an extration slit whose length can differ for different spectral orders. Weights can include pre-defined masks (to eliminate data on detector blemishes), a pre-defined normalised cross-order profile, and estimates of the rms scatter on the fluxes in the pixels. Radiation events (cosmic rays) can be identified, and the corresponding pixels are masked out. The default extraction modes provided in the pipeline data reduction are: \n - unweighted sum of the flux on all pixels \n - flux with pre-defined masks and cosmic ray detection \n - weighted extraction including pre-defined masks and cosmic ray detection, but using the pre-defined normalised cross-order profile and the error estimates on the data to define quasi-optimal weights \n Details about the position and intensity of cosmic rays can be saved for further analysis. COMMENTS : The optimal extraction mode with normalised cross-order profiles (COP) estimated from the proper data is not included, but the instrument model contains an algorithm to derive normalised cross-order profiles from (several) high signal-to-noise frames. \n SYNTAX : self.results = extractOrders(self.results, instrumentModel) INPUT : subtractBackgroundImage = Image: background-subtracted image resulting from subtractBackground subtractBackgroundVarImage = VarImage: corresponding variance image positions of spectral orders as determined in modelOrderPositions xslitpos: array (nrow x norder) of positions of slit center for (rowy, orderk) from MODEL : mSlit (orderk): length of extraction slit (can vary with order k) masks (of the same dimensions as subtractBackgroundImage) with always invalid pixels : at least the product of stronglyHotPixelMask * stronglyDarkPixelMask rejected pixels are set to 1 cosmicRayMask (optional) offsetExtractionSlitXXX[maxSlitWidth,100] where XXX=fiberMode (HRF,LRF,WCF,2F) = 2-D array giving the offset of the first pixel in the slit for a given slit width and indexSlitPos (indexSlitPos is roughly the fractional part of xSlitPos) This valus has to be added to the central pixel to get the first pixel to be extracted. There a currently 9 rows (slit width from 9 to 17 pixels) fluxCorExtractionSlitXXX[maxSlitWidth,100] where XXX=fiberMode (HRF,LRF,WCF,2F) = 2-D array giving the multiplicative correction factor that has to be applied to the extracted flux in order to correct for the fractional edge pixels This factoris given for a given slit width and indexSlitPos (like offsetExtractionSlitXXX) There a currently 9 rows (slit width from 9 to 17 pixels) crossOrderProfileXXX[100,atLeastMslitMax] where XXX=fiberMode (HRF,LRF,WCF,2F) = 2-D array containing normalized cross-order profile for each possible value of indexSlitPos (indexSlitPos is roughly the fractional part of xSlitPos) with a resolution of 1 pixel. OPTIONS : All options are to be placed in the OptionDict. WeightedSimpleSum (True/False) : switch is present but commented out : both cases are computed MANDATORY : switches for extraction method : BlemishedPixelsMasked (remove all permanently bad pixels) withPreDefinedCrossOrderProfile switches for optional output : identifyRadiationEvents : YES / NO compareExtractionMethods : YES / NO validityCrossorderProfile : YES / NO OPTIONAL : isDebug (boolean) default value : True When True : writes results to fits files display COP profiles for selected rows and orders display extracted flux OUTPUT : MANDATORY : extracted flux as straightforward seen over valid pixels correlated for masked pixels variance over this extracted flux. percentage of flux on valid pixels at each cross-cut. extracted flux as above but masking also pixels blemished by radiation events variance over this extracted flux. percentage of flux on valid pixels at each cross-cut. extracted flux using a predefined normalised cross-order profile as weight and excluding masked pixels variance over this extracted flux. percentage of flux on valid pixels at each cross-cut. extracted flux using a predefined normalised cross-order profile as weight and excluding masked pixels and those blemished by radiation events variance over this extracted flux. percentage of flux on valid pixels at each cross-cut. AJ: Put these 4 blocks in a single image OPTIONAL : (optional output will primarily be used in test phases and for maintenance purposes) identifyRadiationEvents = YES : difference of extracted flux when including or excluding pixels blemished by radiation events compareExtractionMethods = YES : ratio of extracted flux with or without use of a predefined normalized cross-order profile for the case with pixels blemished by radiation events rejected validityCrossorderProfile = YES : for all pixels in each slot : residual "observed-predicted" counts (for comparaison with variance input frame).
hermes.pipeline.components.extractOrders.extractOrders.fsafe |
User gives another fsafe value for cosmic clipping check overwriting values in run/absoluteDRS.
it is the number of safety pixels we add at both sides of the order
when they are None, user did not gave values. we must use the default from instrumentModel.