MakeWarpTask¶
- class lsst.pipe.tasks.makeWarp.MakeWarpTask(**kwargs)¶
- Bases: - CoaddBaseTask- Warp and optionally PSF-Match calexps onto an a common projection. - Warp and optionally PSF-Match calexps onto a common projection, by performing the following operations: - Group calexps by visit/run - For each visit, generate a Warp by calling method @ref run. - runloops over the visit’s calexps calling- WarpAndPsfMatchTaskon each visit- Notes - WarpType identifies the types of convolutions applied to Warps (previously CoaddTempExps). Only two types are available: direct (for regular Warps/Coadds) and psfMatched(for Warps/Coadds with homogenized PSFs). We expect to add a third type, likelihood, for generating likelihood Coadds with Warps that have been correlated with their own PSF. - To make - psfMatchedWarps, select- config.makePsfMatched=True. The subtask- ModelPsfMatchTaskis responsible for the PSF-Matching, and its config is accessed via- config.warpAndPsfMatch.psfMatch.- The optimal configuration depends on aspects of dataset: the pixel scale, average PSF FWHM and dimensions of the PSF kernel. These configs include the requested model PSF, the matching kernel size, padding of the science PSF thumbnail and spatial sampling frequency of the PSF. - Config Guidelines: The user must specify the size of the model PSF to which to match by setting - config.modelPsf.defaultFwhmin units of pixels. The appropriate values depends on science case. In general, for a set of input images, this config should equal the FWHM of the visit with the worst seeing. The smallest it should be set to is the median FWHM. The defaults of the other config options offer a reasonable starting point.- The following list presents the most common problems that arise from a misconfigured @link ip::diffim::modelPsfMatch::ModelPsfMatchTask ModelPsfMatchTask @endlink and corresponding solutions. All assume the default Alard-Lupton kernel, with configs accessed via - `config.warpAndPsfMatch.psfMatch.kernel['AL']`. Each item in the list is formatted as: Problem: Explanation. Solution- Troublshooting PSF-Matching Configuration: - Matched PSFs look boxy: The matching kernel is too small. - _Increase the matching kernel size.
- For example:_
- config.warpAndPsfMatch.psfMatch.kernel[‘AL’].kernelSize=27 # default 21 
 - Note that increasing the kernel size also increases runtime. 
 - Matched PSFs look ugly (dipoles, quadropoles, donuts): unable to find good solution for matching kernel. _Provide the matcher with more data by either increasing - the spatial sampling by decreasing the spatial cell size,_
- config.warpAndPsfMatch.psfMatch.kernel[‘AL’].sizeCellX = 64 # default 128 config.warpAndPsfMatch.psfMatch.kernel[‘AL’].sizeCellY = 64 # default 128 
- _or increasing the padding around the Science PSF, for example:_
- config.warpAndPsfMatch.psfMatch.autoPadPsfTo=1.6 # default 1.4 
 - Increasing - autoPadPsfToincreases the minimum ratio of input PSF dimensions to the matching kernel dimensions, thus increasing the number of pixels available to fit after convolving the PSF with the matching kernel. Optionally, for debugging the effects of padding, the level of padding may be manually controlled by setting turning off the automatic padding and setting the number of pixels by which to pad the PSF:- config.warpAndPsfMatch.psfMatch.doAutoPadPsf = False # default True config.warpAndPsfMatch.psfMatch.padPsfBy = 6 # pixels. default 0 
- Deconvolution: Matching a large PSF to a smaller PSF produces
- a telltale noise pattern which looks like ripples or a brain. _Increase the size of the requested model PSF. For example:_ - config.modelPsf.defaultFwhm = 11 # Gaussian sigma in units of
- pixels. 
 
 
- High frequency (sometimes checkered) noise: The matching basis functions are too small. - _Increase the width of the Gaussian basis functions. For example:_
- config.warpAndPsfMatch.psfMatch.kernel[‘AL’].alardSigGauss= [1.5, 3.0, 6.0] # from default [0.7, 1.5, 3.0] 
 
 - Attributes Summary - Methods Summary - Empty (clear) the metadata for this Task and all sub-Tasks. - filterInputs(indices, inputs)- Filter task inputs by their indices. - Convenience method to provide the bitmask from the mask plane names - Get metadata for all tasks. - Get the task name as a hierarchical name including parent task names. - getName()- Get the name of the task. - Return resource configuration for this task. - getSkyInfo(patchRef)- Use getSkyinfo to return the skyMap, tract and patch information, wcs and the outer bbox of the patch. - Get a dictionary of all tasks as a shallow copy. - getTempExpDatasetName([warpType])- Return warp name for given warpType and task config - Return list of requested warp types per the config. - makeField(doc)- Make a - lsst.pex.config.ConfigurableFieldfor this task.- makeSubtask(name, **keyArgs)- Create a subtask as a new instance as the - nameattribute of this task.- prepareCalibratedExposures(calExpList[, ...])- Deprecated function. - run(calExpList, ccdIdList, skyInfo[, ...])- Create a Warp from inputs. - runQuantum(butlerQC, inputRefs, outputRefs)- Method to do butler IO and or transforms to provide in memory objects for tasks run method - timer(name[, logLevel])- Context manager to log performance data for an arbitrary block of code. - Attributes Documentation - Methods Documentation - filterInputs(indices, inputs)¶
- Filter task inputs by their indices. 
 - getBadPixelMask()¶
- Convenience method to provide the bitmask from the mask plane names 
 - getFullMetadata() TaskMetadata¶
- Get metadata for all tasks. - Returns:
- metadataTaskMetadata
- The keys are the full task name. Values are metadata for the top-level task and all subtasks, sub-subtasks, etc. 
 
- metadata
 - Notes - The returned metadata includes timing information (if - @timer.timeMethodis used) and any metadata set by the task. The name of each item consists of the full task name with- .replaced by- :, followed by- .and the name of the item, e.g.:- topLevelTaskName:subtaskName:subsubtaskName.itemName - using - :in the full task name disambiguates the rare situation that a task has a subtask and a metadata item with the same name.
 - getFullName() str¶
- Get the task name as a hierarchical name including parent task names. - Returns:
- fullNamestr
- The full name consists of the name of the parent task and each subtask separated by periods. For example: - The full name of top-level task “top” is simply “top”. 
- The full name of subtask “sub” of top-level task “top” is “top.sub”. 
- The full name of subtask “sub2” of subtask “sub” of top-level task “top” is “top.sub.sub2”. 
 
 
- fullName
 
 - getResourceConfig() ResourceConfig | None¶
- Return resource configuration for this task. - Returns:
- Object of type ResourceConfigorNoneif resource
- configuration is not defined for this task.
 
- Object of type 
 
 - getSkyInfo(patchRef)¶
- Use getSkyinfo to return the skyMap, tract and patch information, wcs and the outer bbox of the patch. - Parameters:
- patchRefUnknown
- Data reference for sky map. Must include keys “tract” and “patch”. 
 
- patchRef
- Returns:
- getSkyInfolsst.pipe.base.Struct
- Sky Info as a struct with attributes: - skyMap
- sky map ( - lsst.skyMap.SkyMap).
- tractInfo
- Information for chosen tract of sky map ( - lsst.skymap.TractInfo).
- patchInfo
- Information about chosen patch of tract ( - lsst.skymap.PatchInfo).
- wcs
- WCS of tract ( - lsst.afw.image.SkyWcs).
- bbox
- Outer bbox of patch, as an geom Box2I ( - lsst.afw.geom.Box2I).
 
 
- getSkyInfo
 
 - getTaskDict() Dict[str, ReferenceType[Task]]¶
- Get a dictionary of all tasks as a shallow copy. - Returns:
- taskDictdict
- Dictionary containing full task name: task object for the top-level task and all subtasks, sub-subtasks, etc. 
 
- taskDict
 
 - getTempExpDatasetName(warpType='direct')¶
- Return warp name for given warpType and task config 
 - getWarpTypeList()¶
- Return list of requested warp types per the config. 
 - classmethod makeField(doc: str) ConfigurableField¶
- Make a - lsst.pex.config.ConfigurableFieldfor this task.- Parameters:
- docstr
- Help text for the field. 
 
- doc
- Returns:
- configurableFieldlsst.pex.config.ConfigurableField
- A - ConfigurableFieldfor this task.
 
- configurableField
 - Examples - Provides a convenient way to specify this task is a subtask of another task. - Here is an example of use: - class OtherTaskConfig(lsst.pex.config.Config): aSubtask = ATaskClass.makeField("brief description of task") 
 - makeSubtask(name: str, **keyArgs: Any) None¶
- Create a subtask as a new instance as the - nameattribute of this task.- Parameters:
- namestr
- Brief name of the subtask. 
- keyArgs
- Extra keyword arguments used to construct the task. The following arguments are automatically provided and cannot be overridden: - “config”. 
- “parentTask”. 
 
 
- name
 - Notes - The subtask must be defined by - Task.config.name, an instance of- ConfigurableFieldor- RegistryField.
 - prepareCalibratedExposures(calExpList, backgroundList=None, skyCorrList=None, externalSkyWcsCatalog=None, externalPhotoCalibCatalog=None, finalizedPsfApCorrCatalog=None, **kwargs)¶
- Deprecated function. - Please use _prepareCalibratedExposure(), which this delegates to and noting its slightly updated API, instead. - Deprecated since version v25.0: This method is deprecated in favor of its leading underscore version, _prepareCalibratedfExposures(). Will be removed after v25. 
 - run(calExpList, ccdIdList, skyInfo, visitId=0, dataIdList=None, **kwargs)¶
- Create a Warp from inputs. - We iterate over the multiple calexps in a single exposure to construct the warp (previously called a coaddTempExp) of that exposure to the supplied tract/patch. - Pixels that receive no pixels are set to NAN; this is not correct (violates LSST algorithms group policy), but will be fixed up by interpolating after the coaddition. - calexpRefListlist
- List of data references for calexps that (may) overlap the patch of interest. 
- skyInfolsst.pipe.base.Struct
- Struct from CoaddBaseTask.getSkyInfo() with geometric information about the patch. 
- visitIdint
- Integer identifier for visit, for the table that will produce the CoaddPsf. 
 - Returns:
- resultlsst.pipe.base.Struct
- Results as a struct with attributes: - exposures
- A dictionary containing the warps requested: “direct”: direct warp if - config.makeDirect“psfMatched”: PSF-matched warp if- config.makePsfMatched(- dict).
 
 
- result
 
- calexpRefList
 - runQuantum(butlerQC, inputRefs, outputRefs)¶
- Method to do butler IO and or transforms to provide in memory objects for tasks run method - Parameters:
- butlerQCButlerQuantumContext
- A butler which is specialized to operate in the context of a - lsst.daf.butler.Quantum.
- inputRefsInputQuantizedConnection
- Datastructure whose attribute names are the names that identify connections defined in corresponding - PipelineTaskConnectionsclass. The values of these attributes are the- lsst.daf.butler.DatasetRefobjects associated with the defined input/prerequisite connections.
- outputRefsOutputQuantizedConnection
- Datastructure whose attribute names are the names that identify connections defined in corresponding - PipelineTaskConnectionsclass. The values of these attributes are the- lsst.daf.butler.DatasetRefobjects associated with the defined output connections.
 
- butlerQC