lsst.pipe.tasks g1c91cc4c4e+408365e0d6
Loading...
Searching...
No Matches
lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask Class Reference
Inheritance diagram for lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask:

Public Member Functions

 __init__ (self, **kwargs)
 
Struct run (self, Iterable[tuple[NDArray, SkyWcs, Box2I]] input_images, healpix_id)
 
None runQuantum (self, QuantumContext butlerQC, InputQuantizedConnection inputRefs, OutputQuantizedConnection outputRefs)
 

Public Attributes

 warper = Warper.fromConfig(self.config.warp)
 
 hips_base_path = ResourcePath(self.config.hips_base_uri, forceDirectory=True)
 

Static Public Attributes

 ConfigClass = HighOrderHipsTaskConfig
 

Protected Member Functions

NDArray _make_box_mask (self, tuple[int, int] shape, int patch_grow)
 
list[tuple[NDArray, SkyWcs, Box2I]] _assemble_sub_region (self, dict[int, Iterable[tuple[DeferredDatasetHandle, SkyWcs, Box2I]]] tract_patch, int patch_grow)
 

Static Protected Attributes

str _DefaultName = "highOrderHipsTask"
 

Detailed Description

Pipeline task that generates high-order HealPix tiles from RGB images.

Of Note; This task has special dispensation to write "out-of-tree" to a
location not within the butler. DO NOT model other tasks on this one.

This task takes in RGB images generated on a tract patch grid. It assembles
them into a 4096 x 4096 image aligned with the wcs coordinates of hips
order 8 pixels. This is then divided up into an 8x8 grid to produce 512x512
images at hips order 11. The images is then resampled using lanczos order 4
such that the image is half the size. The original image is then divided
into a 4x4 grid to produce hips images at order 10. The process is repeated
to produce hips images at order 9, and finally the image is resampled down
to 512x512 and saved out at hips order 8.

The order 8 image is resampled one more time to 256x256 and presisted by
the butler for later consumption in the `LowOrderHipsTask`.

The difference at producding wcs at order 8 and working up to 11, is tested
to be less than 6 decimal places when converting ra dec to pixel coordinates,
and even that is likely to be due to differences in warping kernels,
and not an intrinsic error. Doing processing like this allows hips generation
to be more effectively split across compute nodes.

Definition at line 127 of file _high_order_hips.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask.__init__ ( self,
** kwargs )

Definition at line 157 of file _high_order_hips.py.

Member Function Documentation

◆ _assemble_sub_region()

list[tuple[NDArray, SkyWcs, Box2I]] lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask._assemble_sub_region ( self,
dict[int, Iterable[tuple[DeferredDatasetHandle, SkyWcs, Box2I]]] tract_patch,
int patch_grow )
protected
Assemble all the patches in each tract into images.

This function takes in an input keyed by tract, with values
corresponding the patches in that tract that overlap the quatum's
healpix value. It assembles each of these into a single image such
that the return values is a list of images (and metadata) one element
for each input tract.

Parameters
----------
tract_patch : `dict` of `int` to `iterable` of `tuple` of
              `DeferredDatasetHandle`, `SkyWcs` and `Box2I`
    Input images and metadata organized into corresponding tracts.
patch_grow : `int`
    Amount to grow patches by

Returns
-------
output_list : `list` of `tuple` of `NDArray` `SkyWcs` and `Box2I`
    List of assembled images and metadata, one element for each tract

Definition at line 342 of file _high_order_hips.py.

◆ _make_box_mask()

NDArray lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask._make_box_mask ( self,
tuple[int, int] shape,
int patch_grow )
protected
Create a feathered box to use in blending images together.

This is used when mixing patches together into a larger contiguous region
such that overlaps are blended by a ramp function. This will be 50%
for each area at exactly halfway through the overlap, and 1/0 at the
extremes.

Parameters
----------
shape : `tuple` of `int`, `int`
    Shape of the output weighting mask.
patch_grow : `int`
    Amount to grow bounding boxes.

Returns
-------
mask : `np.ndarray`
    The output weighting mask to use in blending, repeated along third
    axis to use with RGB images.

Definition at line 295 of file _high_order_hips.py.

◆ run()

Struct lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask.run ( self,
Iterable[tuple[NDArray, SkyWcs, Box2I]] input_images,
healpix_id )
Main execution method for generating HealPix tiles.

Parameters
----------
input_images : Iterable[tuple[NDArray, SkyWcs, Box2I]]
    Iterable of tuples containing image data, WCS, and bounding box information.
healpix_id : int
    The HealPix order 8 ID to process.

Returns
-------
Struct
    Output structure containing the processed HealPix order 8 tile.
    This has been downsampled to 256x256 corresponding to a quarter of a healpix
    order 7 image.

Definition at line 167 of file _high_order_hips.py.

◆ runQuantum()

None lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask.runQuantum ( self,
QuantumContext butlerQC,
InputQuantizedConnection inputRefs,
OutputQuantizedConnection outputRefs )

Definition at line 410 of file _high_order_hips.py.

Member Data Documentation

◆ _DefaultName

str lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask._DefaultName = "highOrderHipsTask"
staticprotected

Definition at line 152 of file _high_order_hips.py.

◆ ConfigClass

lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask.ConfigClass = HighOrderHipsTaskConfig
static

Definition at line 153 of file _high_order_hips.py.

◆ hips_base_path

lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask.hips_base_path = ResourcePath(self.config.hips_base_uri, forceDirectory=True)

Definition at line 162 of file _high_order_hips.py.

◆ warper

lsst.pipe.tasks.rgb2hips._high_order_hips.HighOrderHipsTask.warper = Warper.fromConfig(self.config.warp)

Definition at line 159 of file _high_order_hips.py.


The documentation for this class was generated from the following file: