Coverage report: 27%

Files Functions Classes

coverage.py v7.14.1, created at 2026-05-29 01:48 -0700

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
python/lsst/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
python/lsst/images/__init__.py (no function)   100% 12 0 0   100% 0 0   100%
python/lsst/images/_backgrounds.py BackgroundMap.__init__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.subtracted   0% 3 3 0   0% 2 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.__iter__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.__getitem__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.__len__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.get   100% 0 0 4   100% 0 0   100%
python/lsst/images/_backgrounds.py BackgroundMap.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.add   0% 5 5 0   0% 4 0   0%
python/lsst/images/_backgrounds.py BackgroundMap.serialize   0% 5 5 0   0% 2 0   0%
python/lsst/images/_backgrounds.py BackgroundMapSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/_backgrounds.py (no function)   100% 33 0 2   100% 0 0   100%
python/lsst/images/_cell_grid.py CellIJ.__add__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellIJ.__sub__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellIJ.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellIJ.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGrid.grid_shape   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGrid.index_of   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGrid.bbox_of   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGrid.from_legacy   0% 5 5 0   0% 2 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.grid_start   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.grid_stop   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_cell_grid.py CellGridBounds.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_cell_grid.py CellGridBounds.contains   0% 12 12 0   0% 10 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.intersection   0% 2 2 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.contains_cell   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.missing_boxes   0% 2 2 0   0% 2 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.cell_indices   0% 5 5 0   0% 6 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.__getitem__   0% 12 12 0   0% 2 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py CellGridBounds.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py PatchDefinition.outer_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_cell_grid.py (no function)   100% 55 0 7   100% 0 0   100%
python/lsst/images/_color_image.py ColorImage.__init__   0% 9 9 0   0% 4 0   0%
python/lsst/images/_color_image.py ColorImage.from_channels   0% 3 3 0   0% 2 0   0%
python/lsst/images/_color_image.py ColorImage.array   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.red   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.green   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.blue   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.projection   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.__getitem__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_color_image.py ColorImage.__setitem__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage.serialize   0% 5 5 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImage._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImageSerializationModel.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_color_image.py ColorImageSerializationModel.deserialize   0% 7 7 0   0% 2 0   0%
python/lsst/images/_color_image.py (no function)   100% 46 0 0   100% 0 0   100%
python/lsst/images/_concrete_bounds.py IntersectionBoundsSerializationModel.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_concrete_bounds.py _intersect_box   0% 11 11 0   0% 8 0   0%
python/lsst/images/_concrete_bounds.py _intersect_region   0% 11 11 0   0% 8 0   0%
python/lsst/images/_concrete_bounds.py _intersect_cgb   0% 11 11 0   0% 8 0   0%
python/lsst/images/_concrete_bounds.py _intersect_ib   0% 4 4 0   0% 2 0   0%
python/lsst/images/_concrete_bounds.py _intersect_box_box   0% 8 8 0   0% 2 0   0%
python/lsst/images/_concrete_bounds.py _intersect_box_region   0% 1 1 0   100% 0 0   0%
python/lsst/images/_concrete_bounds.py _intersect_region_region   0% 5 5 0   0% 2 0   0%
python/lsst/images/_concrete_bounds.py _intersect_cgb_cgb   0% 7 7 0   0% 2 0   0%
python/lsst/images/_concrete_bounds.py _intersect_box_cgb   0% 9 9 0   0% 6 0   0%
python/lsst/images/_concrete_bounds.py (no function)   100% 23 0 0   100% 0 0   100%
python/lsst/images/_generalized_image.py GeneralizedImage.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.bbox   100% 0 0 1   100% 0 0   100%
python/lsst/images/_generalized_image.py GeneralizedImage.projection   100% 0 0 1   100% 0 0   100%
python/lsst/images/_generalized_image.py GeneralizedImage.astropy_wcs   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.fits_wcs   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.local   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.absolute   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.metadata   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.metadata   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.__getitem__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.copy   100% 0 0 1   100% 0 0   100%
python/lsst/images/_generalized_image.py GeneralizedImage.butler_dataset   0% 4 4 0   0% 2 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage.butler_provenance   0% 4 4 0   0% 2 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage._transfer_metadata   0% 11 11 0   0% 4 0   0%
python/lsst/images/_generalized_image.py GeneralizedImage._finish_deserialize   0% 3 3 0   100% 0 0   0%
python/lsst/images/_generalized_image.py LocalSliceProxy.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py LocalSliceProxy.__getitem__   0% 6 6 0   0% 2 0   0%
python/lsst/images/_generalized_image.py AbsoluteSliceProxy.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_generalized_image.py AbsoluteSliceProxy.__getitem__   0% 6 6 0   0% 2 0   0%
python/lsst/images/_generalized_image.py (no function)   100% 47 0 2   100% 0 0   100%
python/lsst/images/_geom.py YX.xy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py YX.map   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py XY.yx   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py XY.map   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__init__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_geom.py Interval.hull   0% 11 11 0   0% 6 0   0%
python/lsst/images/_geom.py Interval.from_size   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.start   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.stop   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.min   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.max   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.size   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.range   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.arange   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.absolute   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.local   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.linspace   0% 7 7 0   0% 6 0   0%
python/lsst/images/_geom.py Interval.center   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.padded   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_geom.py Interval.__add__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__sub__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__contains__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Interval.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Interval.contains   0% 6 6 0   0% 4 0   0%
python/lsst/images/_geom.py Interval.intersection   0% 5 5 0   0% 2 0   0%
python/lsst/images/_geom.py Interval.dilated_by   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.slice_within   0% 3 3 0   0% 2 0   0%
python/lsst/images/_geom.py Interval.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__reduce__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval.__get_pydantic_core_schema__   100% 2 0 0   100% 0 0   100%
python/lsst/images/_geom.py Interval.__get_pydantic_json_schema__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval._validate   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Interval._serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py IntervalSliceFactory.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/images/_geom.py IntervalSliceFactory.__getitem__   0% 23 23 0   0% 18 0   0%
python/lsst/images/_geom.py Box.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.from_shape   0% 17 17 0   0% 10 0   0%
python/lsst/images/_geom.py Box.start   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.shape   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.absolute   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.local   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.meshgrid   0% 18 18 0   0% 10 0   0%
python/lsst/images/_geom.py Box.padded   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_geom.py Box.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Box.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Box.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Box.contains   0% 10 10 0   0% 8 0   0%
python/lsst/images/_geom.py Box.intersection   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Box.intersection   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Box.intersection   0% 2 2 0   100% 0 0   0%
python/lsst/images/_geom.py Box.dilated_by   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.slice_within   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.boundary   0% 6 6 0   0% 2 0   0%
python/lsst/images/_geom.py Box.__reduce__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/_geom.py Box.__get_pydantic_core_schema__   100% 2 0 0   100% 0 0   100%
python/lsst/images/_geom.py Box.__get_pydantic_json_schema__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box._validate   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box._serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Box.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py BoxSliceFactory.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/images/_geom.py BoxSliceFactory.__getitem__   0% 7 7 0   0% 4 0   0%
python/lsst/images/_geom.py Bounds.bbox   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Bounds.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Bounds.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_geom.py Bounds.contains   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Bounds.intersection   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py Bounds.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_geom.py (no function)   100% 153 0 2   100% 0 0   100%
python/lsst/images/_image.py Image.__init__   0% 22 22 0   0% 16 0   0%
python/lsst/images/_image.py Image.array   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.array   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.quantity   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.quantity   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.projection   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.__getitem__   0% 5 5 0   0% 2 0   0%
python/lsst/images/_image.py Image.__setitem__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_image.py Image.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.view   0% 7 7 0   0% 6 0   0%
python/lsst/images/_image.py Image.serialize   0% 7 7 0   0% 2 0   0%
python/lsst/images/_image.py Image.serialize._update_header   0% 11 11 0   0% 8 0   0%
python/lsst/images/_image.py Image._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.write_fits   0% 4 4 0   0% 2 0   0%
python/lsst/images/_image.py Image.read_fits   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_image.py Image.to_legacy   0% 10 10 0   0% 6 0   0%
python/lsst/images/_image.py Image.read_legacy   0% 14 14 0   0% 2 0   0%
python/lsst/images/_image.py Image._read_legacy_hdu   0% 35 35 0   0% 14 0   0%
python/lsst/images/_image.py ImageSerializationModel.bbox   0% 6 6 0   0% 4 0   0%
python/lsst/images/_image.py ImageSerializationModel.deserialize   0% 12 12 0   0% 4 0   0%
python/lsst/images/_image.py ImageSerializationModel.deserialize._strip_header   0% 4 4 0   0% 2 0   0%
python/lsst/images/_image.py ImageSerializationModel.deserialize_component   0% 3 3 0   0% 2 0   0%
python/lsst/images/_image.py (no function)   100% 66 0 5   100% 0 0   100%
python/lsst/images/_intersection_bounds.py IntersectionBounds.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/_intersection_bounds.py IntersectionBounds.bbox   0% 2 2 0   100% 0 0   0%
python/lsst/images/_intersection_bounds.py IntersectionBounds.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_intersection_bounds.py IntersectionBounds.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_intersection_bounds.py IntersectionBounds.contains   0% 1 1 0   100% 0 0   0%
python/lsst/images/_intersection_bounds.py IntersectionBounds.intersection   0% 2 2 0   100% 0 0   0%
python/lsst/images/_intersection_bounds.py IntersectionBounds.serialize   0% 2 2 0   100% 0 0   0%
python/lsst/images/_intersection_bounds.py (no function)   100% 14 0 2   100% 0 0   100%
python/lsst/images/_mask.py MaskPlane.read_legacy   0% 6 6 0   0% 4 0   0%
python/lsst/images/_mask.py MaskPlaneBit.compute   0% 2 2 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.__init__   0% 6 6 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.bits_per_element   0% 8 8 0   0% 4 0   0%
python/lsst/images/_mask.py MaskSchema.__iter__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.__len__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.__getitem__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_mask.py MaskSchema.dtype   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.mask_size   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.names   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.descriptions   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.bit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSchema.bitmask   0% 5 5 0   0% 2 0   0%
python/lsst/images/_mask.py MaskSchema.split   0% 15 15 0   0% 10 0   0%
python/lsst/images/_mask.py MaskSchema.update_header   0% 8 8 0   0% 6 0   0%
python/lsst/images/_mask.py MaskSchema.strip_header   0% 5 5 0   0% 4 0   0%
python/lsst/images/_mask.py Mask.__init__   0% 24 24 0   0% 18 0   0%
python/lsst/images/_mask.py Mask.array   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.array   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.schema   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.projection   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.__getitem__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_mask.py Mask.__setitem__   0% 3 3 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_mask.py Mask.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.view   0% 9 9 0   0% 8 0   0%
python/lsst/images/_mask.py Mask.update   0% 11 11 0   0% 4 0   0%
python/lsst/images/_mask.py Mask.get   0% 2 2 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.set   0% 4 4 0   0% 2 0   0%
python/lsst/images/_mask.py Mask.clear   0% 6 6 0   0% 4 0   0%
python/lsst/images/_mask.py Mask.serialize   0% 17 17 0   0% 8 0   0%
python/lsst/images/_mask.py Mask._serialize_2d   0% 3 3 0   100% 0 0   0%
python/lsst/images/_mask.py Mask._serialize_2d._update_header   0% 7 7 0   0% 6 0   0%
python/lsst/images/_mask.py Mask._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.write_fits   0% 4 4 0   0% 2 0   0%
python/lsst/images/_mask.py Mask.read_fits   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py Mask.to_legacy   0% 10 10 0   0% 4 0   0%
python/lsst/images/_mask.py Mask._from_legacy_array   0% 17 17 0   0% 10 0   0%
python/lsst/images/_mask.py Mask.read_legacy   0% 7 7 0   100% 0 0   0%
python/lsst/images/_mask.py Mask._read_legacy_hdu   0% 21 21 0   0% 4 0   0%
python/lsst/images/_mask.py MaskSerializationModel.bbox   0% 4 4 0   0% 2 0   0%
python/lsst/images/_mask.py MaskSerializationModel.deserialize   0% 23 23 0   0% 12 0   0%
python/lsst/images/_mask.py MaskSerializationModel._deserialize_2d   0% 3 3 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSerializationModel._deserialize_2d._strip_header   0% 3 3 0   100% 0 0   0%
python/lsst/images/_mask.py MaskSerializationModel.deserialize_component   0% 3 3 0   0% 2 0   0%
python/lsst/images/_mask.py _archive_prefers_native_mask_arrays   0% 6 6 0   0% 4 0   0%
python/lsst/images/_mask.py get_legacy_visit_image_mask_planes   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py get_legacy_deep_coadd_mask_planes   0% 1 1 0   100% 0 0   0%
python/lsst/images/_mask.py (no function)   100% 114 0 5   100% 0 0   100%
python/lsst/images/_masked_image.py MaskedImage.__init__   0% 28 28 0   0% 22 0   0%
python/lsst/images/_masked_image.py MaskedImage.image   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.mask   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.variance   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.projection   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.__getitem__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_masked_image.py MaskedImage.__setitem__   0% 3 3 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.serialize   0% 5 5 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.write_fits   0% 8 8 0   0% 6 0   0%
python/lsst/images/_masked_image.py MaskedImage.read_fits   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_masked_image.py MaskedImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_masked_image.py MaskedImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_masked_image.py MaskedImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_masked_image.py MaskedImage.read_legacy   0% 3 3 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImage._read_legacy_hdus   0% 28 28 0   0% 18 0   0%
python/lsst/images/_masked_image.py MaskedImageSerializationModel.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/_masked_image.py MaskedImageSerializationModel.deserialize   0% 7 7 0   0% 2 0   0%
python/lsst/images/_masked_image.py MaskedImageSerializationModel.deserialize_component   0% 3 3 0   0% 2 0   0%
python/lsst/images/_masked_image.py (no function)   100% 74 0 5   50% 8 4   95%
python/lsst/images/_observation_summary_stats.py _default_corners   0% 1 1 0   100% 0 0   0%
python/lsst/images/_observation_summary_stats.py ObservationSummaryStats.__eq__   0% 14 14 0   0% 14 0   0%
python/lsst/images/_observation_summary_stats.py ObservationSummaryStats.from_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/_observation_summary_stats.py ObservationSummaryStats.to_legacy   0% 8 8 1   0% 4 0   0%
python/lsst/images/_observation_summary_stats.py (no function)   100% 67 0 5   100% 0 0   100%
python/lsst/images/_polygon.py Region.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.area   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.bbox   0% 2 2 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.wkt   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.from_wkt   0% 4 4 0   0% 2 0   0%
python/lsst/images/_polygon.py Region.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_polygon.py Region.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_polygon.py Region.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_polygon.py Region.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_polygon.py Region.contains   100% 1 0 0   50% 2 1   67%
python/lsst/images/_polygon.py Region.contains   0% 7 7 0   0% 6 0   0%
python/lsst/images/_polygon.py Region.intersection   0% 2 2 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.union   0% 3 3 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.difference   0% 3 3 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.try_to_polygon   0% 7 7 0   0% 4 0   0%
python/lsst/images/_polygon.py Region.try_to_box   0% 3 3 0   0% 2 0   0%
python/lsst/images/_polygon.py Region.to_shapely   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Region.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.from_box   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.n_vertices   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.x_vertices   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.y_vertices   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_polygon.py Polygon.from_legacy   0% 7 7 0   0% 2 0   0%
python/lsst/images/_polygon.py Polygon.to_legacy   0% 3 3 0   100% 0 0   0%
python/lsst/images/_polygon.py RegionSerializationModel.deserialize   0% 3 3 0   100% 0 0   0%
python/lsst/images/_polygon.py (no function)   100% 52 0 5   100% 0 0   100%
python/lsst/images/_transforms/__init__.py (no function)   100% 5 0 0   100% 0 0   100%
python/lsst/images/_transforms/_ast.py StringStream.__init__   0% 5 5 0   0% 4 0   0%
python/lsst/images/_transforms/_ast.py StringStream.astsource   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_ast.py StringStream.astsink   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py StringStream.to_string   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_ast.py StringStream.getSinkData   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Object.__init__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_ast.py Object.show   0% 5 5 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Object.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_ast.py Object.fromString   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Object._wrap   0% 4 4 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Object._most_derived_type   0% 4 4 0   0% 4 0   0%
python/lsst/images/_transforms/_ast.py Mapping.simplified   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Mapping.applyForward   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Mapping.applyInverse   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Mapping.then   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Mapping.inverted   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py UnitMap.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py ShiftMap.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py CmpMap.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.domain   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.domain   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.setUnit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.getUnit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.setLabel   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.getBottom   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Frame.getTop   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py SkyFrame.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py CmpFrame.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.nFrame   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.base   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.base   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.current   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.current   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.addFrame   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.getFrame   0% 4 4 0   0% 2 0   0%
python/lsst/images/_transforms/_ast.py FrameSet.getMapping   0% 5 5 0   0% 4 0   0%
python/lsst/images/_transforms/_ast.py FrameDict.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FitsChan.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FitsChan.read   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FitsChan.write   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FitsChan.setFitsI   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py FitsChan.__iter__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Channel.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py Channel.write   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_ast.py (no function)   8% 95 87 3   50% 2 1   9%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.__init__   0% 22 22 0   0% 12 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.instrument   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.focal_plane   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.field_angle   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.detector   0% 7 7 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.__contains__   0% 5 5 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.__getitem__   0% 4 4 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet._parse_frame_arg   0% 15 15 0   0% 6 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSet.from_legacy   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_camera_frame_set.py CameraFrameSetSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_camera_frame_set.py (no function)   100% 32 0 0   100% 0 0   100%
python/lsst/images/_transforms/_frame_set.py FrameSet.__contains__   100% 0 0 1   100% 0 0   100%
python/lsst/images/_transforms/_frame_set.py FrameSet.__getitem__   100% 0 0 1   100% 0 0   100%
python/lsst/images/_transforms/_frame_set.py FrameSet.get   0% 4 4 0   100% 0 0   0%
python/lsst/images/_transforms/_frame_set.py (no function)   100% 12 0 0   100% 0 0   100%
python/lsst/images/_transforms/_frames.py Frame.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py Frame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py Frame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py Frame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py Frame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py DetectorFrame.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py DetectorFrame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py DetectorFrame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py DetectorFrame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py DetectorFrame.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py DetectorFrame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FocalPlaneFrame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FocalPlaneFrame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FocalPlaneFrame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FocalPlaneFrame.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FocalPlaneFrame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FieldAngleFrame.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FieldAngleFrame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FieldAngleFrame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FieldAngleFrame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FieldAngleFrame.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py FieldAngleFrame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py TractFrame.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py TractFrame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py TractFrame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py TractFrame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py TractFrame.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py TractFrame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py GeneralFrame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py GeneralFrame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py GeneralFrame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py GeneralFrame.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py GeneralFrame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py SkyFrame.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py SkyFrame.standardize_x   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py SkyFrame.standardize_y   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py SkyFrame.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py SkyFrame.deserialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py SkyFrame._ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py _camera_ast_ident   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py _wrap_positive   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py _wrap_symmetric   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_frames.py (no function)   100% 98 0 0   100% 0 0   100%
python/lsst/images/_transforms/_projection.py _set_ast_skyframe_system   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py Projection.__init__   0% 6 6 0   0% 4 0   0%
python/lsst/images/_transforms/_projection.py Projection.from_fits_wcs   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.from_ast_frame_set   0% 5 5 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py Projection.pixel_frame   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.sky_frame   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.pixel_bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.pixel_to_sky_transform   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.sky_to_pixel_transform   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.fits_approximation   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.show   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.pixel_to_sky   0% 2 2 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.sky_to_pixel   0% 5 5 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py Projection.as_astropy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.as_fits_wcs   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py Projection.serialize   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py Projection.from_legacy   0% 4 4 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py Projection.to_legacy   0% 10 10 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.__init__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.low_level_wcs   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.array_shape   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.axis_correlation_matrix   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.pixel_axis_names   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.pixel_bounds   0% 3 3 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.pixel_n_dim   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.pixel_shape   0% 2 2 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.serialized_classes   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_axis_names   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_axis_object_classes   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_axis_object_components   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_axis_physical_types   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_axis_units   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_n_dim   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.pixel_to_world_values   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionAstropyView.world_to_pixel_values   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_projection.py ProjectionSerializationModel.deserialize   0% 5 5 0   0% 2 0   0%
python/lsst/images/_transforms/_projection.py (no function)   100% 85 0 5   100% 0 0   100%
python/lsst/images/_transforms/_transform.py Transform.__init__   0% 6 6 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.from_fits_wcs   0% 5 5 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.identity   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.in_frame   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.out_frame   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.in_bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.out_bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.show   0% 6 6 0   0% 4 0   0%
python/lsst/images/_transforms/_transform.py Transform.apply_forward   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.apply_inverse   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.apply_forward_q   0% 2 2 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.apply_inverse_q   0% 2 2 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.decompose   0% 5 5 0   0% 4 0   0%
python/lsst/images/_transforms/_transform.py Transform.inverted   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.then   0% 4 4 0   0% 2 0   0%
python/lsst/images/_transforms/_transform.py Transform.as_projection   0% 2 2 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.as_fits_wcs   0% 11 11 0   0% 2 0   0%
python/lsst/images/_transforms/_transform.py Transform.serialize   0% 16 16 0   0% 8 0   0%
python/lsst/images/_transforms/_transform.py Transform._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py Transform._get_ast_frame_set   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py _ast_apply   0% 3 3 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py _prepend_ast_shift   0% 4 4 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py _make_ast_frame   0% 10 10 0   0% 4 0   0%
python/lsst/images/_transforms/_transform.py _standardize_xy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_transforms/_transform.py TransformSerializationModel.deserialize   0% 23 23 0   0% 14 0   0%
python/lsst/images/_transforms/_transform.py (no function)   100% 61 0 6   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.__init__   0% 26 26 0   0% 16 0   0%
python/lsst/images/_visit_image.py VisitImage.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.projection   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.obs_info   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.physical_filter   0% 2 2 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.band   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.astropy_wcs   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.summary_stats   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.photometric_scaling   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.photometric_scaling   0% 3 3 0   0% 2 0   0%
python/lsst/images/_visit_image.py VisitImage.psf   0% 3 3 0   0% 2 0   0%
python/lsst/images/_visit_image.py VisitImage.detector   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.aperture_corrections   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.backgrounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.__getitem__   0% 4 4 0   0% 2 0   0%
python/lsst/images/_visit_image.py VisitImage.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.convert_unit   0% 33 33 0   0% 22 0   0%
python/lsst/images/_visit_image.py VisitImage.serialize   0% 16 16 0   0% 6 0   0%
python/lsst/images/_visit_image.py VisitImage._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/_visit_image.py VisitImage.from_legacy   0% 44 44 0   0% 16 0   0%
python/lsst/images/_visit_image.py VisitImage.to_legacy   0% 36 36 0   0% 16 0   0%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   100% 0 0 0   100% 0 0   100%
python/lsst/images/_visit_image.py VisitImage.read_legacy   0% 72 72 0   0% 44 0   0%
python/lsst/images/_visit_image.py VisitImageSerializationModel.deserialize   0% 11 11 0   0% 2 0   0%
python/lsst/images/_visit_image.py VisitImageSerializationModel.deserialize_component   0% 3 3 0   0% 2 0   0%
python/lsst/images/_visit_image.py _obs_info_from_md   0% 11 11 0   0% 2 0   0%
python/lsst/images/_visit_image.py _update_obs_info_from_legacy   0% 17 17 0   0% 12 0   0%
python/lsst/images/_visit_image.py _extract_or_check_value   0% 11 11 0   0% 12 0   0%
python/lsst/images/_visit_image.py _extract_or_check_header   0% 4 4 0   0% 2 0   0%
python/lsst/images/_visit_image.py _get_unit_conversion_factor   0% 4 4 0   100% 0 0   0%
python/lsst/images/_visit_image.py (no function)   100% 129 0 11   50% 24 12   92%
python/lsst/images/aperture_corrections.py aperture_corrections_from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/aperture_corrections.py aperture_corrections_to_legacy   0% 5 5 0   0% 2 0   0%
python/lsst/images/aperture_corrections.py ApertureCorrectionMapSerializationModel.serialize   0% 4 4 0   0% 2 0   0%
python/lsst/images/aperture_corrections.py ApertureCorrectionMapSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/aperture_corrections.py (no function)   100% 15 0 5   100% 0 0   100%
python/lsst/images/cameras.py DetectorType.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/cameras.py DetectorType.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Orientation.to_legacy   0% 3 3 0   100% 0 0   0%
python/lsst/images/cameras.py Orientation.from_legacy   0% 3 3 0   100% 0 0   0%
python/lsst/images/cameras.py ReadoutCorner.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/cameras.py ReadoutCorner.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py ReadoutCorner.as_flips   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py ReadoutCorner.from_flips   0% 10 10 0   0% 8 0   0%
python/lsst/images/cameras.py ReadoutCorner.apply_flips   0% 2 2 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.horizontal_overscan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.horizontal_overscan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.vertical_overscan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.vertical_overscan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.horizontal_prescan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.horizontal_prescan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.serial_prescan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.serial_prescan_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierRawGeometry.from_legacy_amplifier   0% 2 2 0   100% 0 0   0%
python/lsst/images/cameras.py AmplifierCalibrations.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/cameras.py AmplifierCalibrations.from_legacy_amplifier   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Amplifier.to_legacy_builder   0% 27 27 0   0% 8 0   0%
python/lsst/images/cameras.py Amplifier.from_legacy   0% 4 4 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.__init__   0% 4 4 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/cameras.py Detector.instrument   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.visit   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.name   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.id   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.type   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.serial   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.orientation   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.pixel_size   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.physical_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.frame   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.to_focal_plane   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.to_field_angle   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.amplifiers   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/cameras.py Detector.to_legacy   0% 25 25 0   0% 4 0   0%
python/lsst/images/cameras.py Detector.from_legacy   0% 7 7 0   0% 2 0   0%
python/lsst/images/cameras.py DetectorSerializationModel.deserialize   0% 7 7 0   0% 6 0   0%
python/lsst/images/cameras.py (no function)   100% 153 0 13   100% 0 0   100%
python/lsst/images/cells/__init__.py (no function)   100% 4 0 0   100% 0 0   100%
python/lsst/images/cells/_coadd.py CellCoadd.__init__   0% 18 18 0   0% 10 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.skymap   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.tract   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.patch   0% 3 3 0   0% 2 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.band   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.mask_fractions   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.noise_realizations   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.projection   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.psf   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.grid   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.provenance   0% 3 3 0   0% 2 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.backgrounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.__getitem__   0% 5 5 0   0% 2 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.serialize   0% 10 10 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_coadd.py CellCoadd.from_legacy   0% 19 19 0   0% 2 0   0%
python/lsst/images/cells/_coadd.py CellCoaddSerializationModel.deserialize   0% 14 14 0   0% 6 0   0%
python/lsst/images/cells/_coadd.py CellCoaddSerializationModel.deserialize_component   0% 6 6 0   0% 4 0   0%
python/lsst/images/cells/_coadd.py (no function)   100% 71 0 7   100% 0 0   100%
python/lsst/images/cells/_provenance.py CoaddProvenance.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.make_empty_input_table   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.make_empty_contribution_table   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.inputs   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.contributions   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.__getitem__   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.subset   0% 6 6 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.serialize   0% 8 8 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenance.from_legacy   0% 29 29 0   0% 8 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenanceSerializationModel.deserialize   0% 13 13 0   0% 6 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenanceSerializationModel._fix_str_for_serialization   0% 13 13 0   0% 8 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenanceSerializationModel._fix_str_for_deserialization   0% 8 8 0   0% 8 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenanceSerializationModel._fix_polygon_for_serialization   0% 11 11 0   0% 2 0   0%
python/lsst/images/cells/_provenance.py CoaddProvenanceSerializationModel._fix_polygon_for_deserialization   0% 5 5 0   100% 0 0   0%
python/lsst/images/cells/_provenance.py (no function)   100% 42 0 10   100% 0 0   100%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.grid   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.kernel_bbox   0% 4 4 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.__getitem__   100% 1 0 0   50% 2 1   67%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.__getitem__   100% 1 0 0   50% 2 1   67%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.__getitem__   0% 14 14 0   0% 6 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.compute_kernel_image   0% 6 6 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.compute_stellar_image   0% 16 16 0   0% 2 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.compute_stellar_bbox   0% 1 1 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.serialize   0% 2 2 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction.from_legacy   0% 19 19 0   0% 6 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunction._subset_impl   0% 4 4 0   100% 0 0   0%
python/lsst/images/cells/_psf.py CellPointSpreadFunctionSerializationModel.deserialize   0% 8 8 0   0% 4 0   0%
python/lsst/images/cells/_psf.py (no function)   100% 35 0 5   100% 0 0   100%
python/lsst/images/fields/__init__.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.bounds   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.unit   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.is_constant   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.__call__   100% 1 0 0   50% 2 1   67%
python/lsst/images/fields/_base.py BaseField.__call__   100% 0 0 0   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.__call__   100% 0 0 0   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.__call__   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_base.py BaseField.render   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.__mul__   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_base.py BaseField.__rmul__   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_base.py BaseField.__truediv__   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_base.py BaseField.evaluate   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.multiply_constant   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.to_legacy   100% 0 0 1   100% 0 0   100%
python/lsst/images/fields/_base.py BaseField.to_legacy_photo_calib   0% 11 11 0   0% 6 0   0%
python/lsst/images/fields/_base.py BaseField.make_legacy_photo_calib   0% 7 7 0   100% 0 0   0%
python/lsst/images/fields/_base.py BaseField._handle_factor_units   0% 13 13 0   0% 8 0   0%
python/lsst/images/fields/_base.py (no function)   100% 38 0 7   50% 4 2   95%
python/lsst/images/fields/_chebyshev.py ChebyshevField.__init__   0% 9 9 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.fit   0% 45 45 0   0% 26 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.x_order   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.y_order   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.order   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.coefficients   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.is_constant   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.evaluate   0% 5 5 0   0% 2 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.render   0% 5 5 0   0% 2 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.multiply_constant   0% 2 2 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.from_legacy   0% 6 6 0   0% 4 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField.from_legacy_background   0% 16 16 0   0% 8 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField._remap   0% 5 5 0   100% 0 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField._packing_indices   0% 6 6 0   0% 6 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField._make_grid_matrix   0% 8 8 0   0% 2 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevField._make_general_matrix   0% 8 8 0   0% 2 0   0%
python/lsst/images/fields/_chebyshev.py ChebyshevFieldSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_chebyshev.py (no function)   100% 54 0 7   100% 0 0   100%
python/lsst/images/fields/_concrete.py field_from_legacy   0% 7 7 1   0% 4 0   0%
python/lsst/images/fields/_concrete.py field_from_legacy_background   0% 7 7 0   0% 4 0   0%
python/lsst/images/fields/_concrete.py field_from_legacy_photo_calib   0% 7 7 0   0% 4 0   0%
python/lsst/images/fields/_concrete.py (no function)   100% 18 0 11   100% 0 0   100%
python/lsst/images/fields/_product.py ProductField.__init__   0% 13 13 0   0% 8 0   0%
python/lsst/images/fields/_product.py ProductField.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_product.py ProductField.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.operands   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.is_constant   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.evaluate   0% 8 8 0   0% 4 0   0%
python/lsst/images/fields/_product.py ProductField.render   0% 6 6 0   0% 4 0   0%
python/lsst/images/fields/_product.py ProductField.multiply_constant   0% 3 3 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.from_legacy   0% 5 5 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductField.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/fields/_product.py ProductFieldSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_product.py (no function)   100% 37 0 6   100% 0 0   100%
python/lsst/images/fields/_spline.py SplineField.__init__   0% 21 21 0   0% 12 0   0%
python/lsst/images/fields/_spline.py SplineField.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_spline.py SplineField.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.data   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.x   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.y   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.is_constant   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.evaluate   0% 20 20 0   0% 12 0   0%
python/lsst/images/fields/_spline.py SplineField.render   0% 16 16 0   0% 10 0   0%
python/lsst/images/fields/_spline.py SplineField.multiply_constant   0% 2 2 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_spline.py SplineField.from_legacy_background   0% 11 11 0   0% 4 0   0%
python/lsst/images/fields/_spline.py SplineField._make_1d_interpolator   0% 7 7 0   0% 4 0   0%
python/lsst/images/fields/_spline.py SplineField._make_y_interpolator   0% 8 8 0   0% 2 0   0%
python/lsst/images/fields/_spline.py SplineFieldSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_spline.py (no function)   100% 47 0 5   100% 0 0   100%
python/lsst/images/fields/_sum.py SumField.__init__   0% 15 15 0   0% 10 0   0%
python/lsst/images/fields/_sum.py SumField.__eq__   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_sum.py SumField.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField.unit   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField.operands   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField.is_constant   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField.evaluate   0% 11 11 0   0% 6 0   0%
python/lsst/images/fields/_sum.py SumField.render   0% 6 6 0   0% 4 0   0%
python/lsst/images/fields/_sum.py SumField.multiply_constant   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumField.from_legacy_background   0% 2 2 0   100% 0 0   0%
python/lsst/images/fields/_sum.py SumFieldSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/fields/_sum.py (no function)   100% 36 0 6   100% 0 0   100%
python/lsst/images/fits/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
python/lsst/images/fits/_common.py ExtensionKey.from_index_row   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_common.py ExtensionKey.from_str   0% 6 6 0   0% 4 0   0%
python/lsst/images/fits/_common.py ExtensionKey.check   0% 2 2 0   0% 2 0   0%
python/lsst/images/fits/_common.py ExtensionKey.__str__   0% 3 3 0   0% 2 0   0%
python/lsst/images/fits/_common.py FitsDitherAlgorithm.to_astropy_quantize_method   0% 7 7 1   0% 4 0   0%
python/lsst/images/fits/_common.py FitsCompressionOptions.make_hdu   0% 3 3 0   0% 2 0   0%
python/lsst/images/fits/_common.py PrecompressedImage.from_bintable   0% 4 4 0   0% 2 0   0%
python/lsst/images/fits/_common.py FitsOpaqueMetadata.add_header   0% 11 11 0   0% 8 0   0%
python/lsst/images/fits/_common.py FitsOpaqueMetadata.maybe_use_precompressed   0% 3 3 0   0% 2 0   0%
python/lsst/images/fits/_common.py FitsOpaqueMetadata.extract_legacy_primary_header   0% 13 13 0   0% 4 0   0%
python/lsst/images/fits/_common.py FitsOpaqueMetadata.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_common.py FitsOpaqueMetadata.subset   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_common.py FitsOpaqueMetadata.get_instrumental_unit   0% 4 4 0   0% 4 0   0%
python/lsst/images/fits/_common.py add_offset_wcs   0% 8 8 0   100% 0 0   0%
python/lsst/images/fits/_common.py strip_wcs_cards   0% 23 23 0   0% 14 0   0%
python/lsst/images/fits/_common.py _strip_sip_poly   0% 4 4 0   0% 4 0   0%
python/lsst/images/fits/_common.py strip_legacy_exposure_cards   0% 4 4 0   0% 2 0   0%
python/lsst/images/fits/_common.py strip_butler_cards   0% 3 3 0   0% 4 0   0%
python/lsst/images/fits/_common.py (no function)   100% 93 0 0   100% 0 0   100%
python/lsst/images/fits/_input_archive.py read   0% 7 7 0   0% 2 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.__init__   0% 13 13 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.open   0% 7 7 0   0% 2 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.get_tree   0% 2 2 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.deserialize_pointer   0% 12 12 0   0% 4 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.get_frame_set   0% 6 6 1   0% 2 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.get_array   0% 11 11 0   0% 6 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.get_table   0% 5 5 0   0% 2 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.get_structured_array   0% 8 8 0   0% 4 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive.get_opaque_metadata   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py FitsInputArchive._get_source_reader   0% 14 14 0   0% 8 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.from_index_row   0% 9 9 1   0% 6 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.from_bytes   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.is_table   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.hdu   0% 5 5 0   0% 2 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.header   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.data   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _ExtensionReader.section   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.mode   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.__enter__   100% 0 0 1   100% 0 0   100%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.__exit__   100% 0 0 1   100% 0 0   100%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.__iter__   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.__next__   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.close   100% 0 0 1   100% 0 0   100%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.closed   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.fileno   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.flush   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.isatty   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.read   0% 2 2 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.readable   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.readline   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.readlines   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.seek   0% 8 8 0   0% 6 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.seekable   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.tell   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.truncate   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.writable   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.write   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py _RangeStreamProxy.writelines   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_input_archive.py (no function)   100% 72 0 0   100% 0 0   100%
python/lsst/images/fits/_output_archive.py write   0% 10 10 0   0% 4 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.__init__   0% 17 17 0   0% 2 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.open   0% 21 21 0   0% 4 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.serialize_direct   0% 2 2 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.serialize_pointer   0% 8 8 0   0% 2 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.serialize_frame_set   0% 3 3 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.iter_frame_sets   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.add_array   0% 10 10 0   0% 6 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.add_table   0% 10 10 0   0% 4 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.add_structured_array   0% 16 16 0   0% 12 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive._add_hdu   0% 11 11 0   0% 4 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive.add_tree   0% 6 6 0   0% 2 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive._get_compression_options   0% 11 11 0   0% 8 0   0%
python/lsst/images/fits/_output_archive.py FitsOutputArchive._make_index_table   0% 10 10 0   0% 2 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.from_write_hdu   0% 7 7 0   0% 6 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.from_read_hdu   0% 5 5 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.from_index_row   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.get_index_hdu_columns   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.header_size   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.end_address   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.size   0% 1 1 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py _HDUBytes.update_index_row   0% 3 3 0   100% 0 0   0%
python/lsst/images/fits/_output_archive.py (no function)   100% 55 0 0   100% 0 0   100%
python/lsst/images/formatters.py GenericFormatter.get_write_extension   0% 6 6 0   0% 2 0   0%
python/lsst/images/formatters.py GenericFormatter._validate_write_parameters   0% 3 3 0   0% 2 0   0%
python/lsst/images/formatters.py GenericFormatter.write_local_file   0% 16 16 0   0% 6 0   0%
python/lsst/images/formatters.py GenericFormatter.add_provenance   0% 2 2 0   100% 0 0   0%
python/lsst/images/formatters.py GenericFormatter._get_compression_seed   0% 2 2 0   100% 0 0   0%
python/lsst/images/formatters.py GenericFormatter._get_compression_options   0% 8 8 0   0% 2 0   0%
python/lsst/images/formatters.py GenericFormatter._update_header   0% 6 6 0   0% 8 0   0%
python/lsst/images/formatters.py GenericFormatter._extension_from_uri   0% 4 4 0   0% 2 0   0%
python/lsst/images/formatters.py GenericFormatter._open_archive_and_tree   0% 19 19 0   0% 6 0   0%
python/lsst/images/formatters.py GenericFormatter.read_from_uri   0% 7 7 0   0% 2 0   0%
python/lsst/images/formatters.py (no function)   0% 30 30 0   100% 0 0   0%
python/lsst/images/json/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
python/lsst/images/json/_input_archive.py read   0% 7 7 0   0% 2 0   0%
python/lsst/images/json/_input_archive.py JsonInputArchive.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/json/_input_archive.py JsonInputArchive.deserialize_pointer   0% 7 7 0   0% 2 0   0%
python/lsst/images/json/_input_archive.py JsonInputArchive.get_frame_set   0% 7 7 1   0% 2 0   0%
python/lsst/images/json/_input_archive.py JsonInputArchive.get_array   0% 3 3 0   0% 2 0   0%
python/lsst/images/json/_input_archive.py JsonInputArchive.get_table   0% 6 6 0   0% 4 0   0%
python/lsst/images/json/_input_archive.py JsonInputArchive.get_structured_array   0% 2 2 0   100% 0 0   0%
python/lsst/images/json/_input_archive.py (no function)   100% 18 0 2   100% 0 0   100%
python/lsst/images/json/_output_archive.py write   0% 11 11 0   0% 6 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.serialize_direct   0% 2 2 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.serialize_pointer   0% 6 6 0   0% 2 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.serialize_frame_set   0% 3 3 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.iter_frame_sets   0% 1 1 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.add_array   0% 1 1 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.add_table   0% 2 2 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.add_structured_array   0% 7 7 0   0% 6 0   0%
python/lsst/images/json/_output_archive.py JsonOutputArchive.finish   0% 2 2 0   100% 0 0   0%
python/lsst/images/json/_output_archive.py (no function)   100% 21 0 2   100% 0 0   100%
python/lsst/images/ndf/__init__.py (no function)   71% 7 2 0   100% 0 0   71%
python/lsst/images/ndf/_common.py archive_path_to_hdf5_path   0% 4 4 0   0% 2 0   0%
python/lsst/images/ndf/_common.py archive_path_to_hdf5_path_components   0% 5 5 0   0% 4 0   0%
python/lsst/images/ndf/_common.py (no function)   100% 8 0 0   100% 0 0   100%
python/lsst/images/ndf/_hds.py hds_type_for_dtype   0% 5 5 1   0% 2 0   0%
python/lsst/images/ndf/_hds.py write_array   0% 9 9 0   0% 6 0   0%
python/lsst/images/ndf/_hds.py _write_logical_array   0% 9 9 1   0% 2 0   0%
python/lsst/images/ndf/_hds.py read_array   0% 11 11 2   0% 6 0   0%
python/lsst/images/ndf/_hds.py write_char_array   0% 11 11 0   0% 4 0   0%
python/lsst/images/ndf/_hds.py encode_ndf_ast_data   0% 12 12 0   0% 8 0   0%
python/lsst/images/ndf/_hds.py decode_ndf_ast_data   0% 21 21 0   0% 16 0   0%
python/lsst/images/ndf/_hds.py read_char_array   0% 6 6 0   0% 4 0   0%
python/lsst/images/ndf/_hds.py set_ascii_attr   0% 4 4 0   0% 2 0   0%
python/lsst/images/ndf/_hds.py create_structure   0% 3 3 0   100% 0 0   0%
python/lsst/images/ndf/_hds.py set_root_name   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_hds.py open_structure   0% 11 11 0   0% 8 0   0%
python/lsst/images/ndf/_hds.py iter_children   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_hds.py (no function)   100% 26 0 0   100% 0 0   100%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.__init__   0% 6 6 0   100% 0 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.open   0% 4 4 0   100% 0 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.get_tree   0% 5 5 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.deserialize_pointer   0% 12 12 0   0% 6 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.get_frame_set   0% 3 3 1   100% 0 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.get_array   0% 13 13 0   0% 8 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.get_table   0% 7 7 0   0% 4 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.get_structured_array   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive._read_opaque_fits_metadata   0% 5 5 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive.get_opaque_metadata   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive._get_main_json_path   0% 4 4 0   0% 4 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive._has_model_path   0% 5 5 0   100% 0 0   0%
python/lsst/images/ndf/_input_archive.py NdfInputArchive._get_primitive   0% 4 4 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py read   0% 8 8 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py _read_auto_detect   0% 53 53 0   0% 26 0   0%
python/lsst/images/ndf/_input_archive.py _read_ndf_units   0% 24 24 0   0% 14 0   0%
python/lsst/images/ndf/_input_archive.py _read_quality_badbits   0% 7 7 0   0% 4 0   0%
python/lsst/images/ndf/_input_archive.py _validate_quality_array   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py _make_quality_mask_schema   0% 8 8 0   0% 4 0   0%
python/lsst/images/ndf/_input_archive.py _locate_ndf_root   0% 16 16 0   0% 14 0   0%
python/lsst/images/ndf/_input_archive.py _read_data_array_with_bbox   0% 10 10 0   0% 4 0   0%
python/lsst/images/ndf/_input_archive.py _read_json_record   0% 4 4 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py _make_bbox   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_input_archive.py (no function)   100% 52 0 0   100% 0 0   100%
python/lsst/images/ndf/_model.py _decode_ascii_attr   0% 9 9 0   0% 8 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.array   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.char_array   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.char_scalar   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.from_hdf5   0% 9 9 0   0% 6 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.read_array   0% 5 5 0   0% 4 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.read_char_array   0% 11 11 0   0% 8 0   0%
python/lsst/images/ndf/_model.py HdsPrimitive.write_to_hdf5   0% 17 17 0   0% 12 0   0%
python/lsst/images/ndf/_model.py HdsStructure.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsStructure.from_hdf5   0% 10 10 0   0% 8 0   0%
python/lsst/images/ndf/_model.py HdsStructure.__contains__   0% 5 5 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsStructure.__getitem__   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsStructure.items   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py HdsStructure.get   0% 8 8 0   0% 6 0   0%
python/lsst/images/ndf/_model.py HdsStructure.get_structure   0% 4 4 0   0% 2 0   0%
python/lsst/images/ndf/_model.py HdsStructure.set   0% 5 5 0   0% 2 0   0%
python/lsst/images/ndf/_model.py HdsStructure.delete   0% 5 5 0   0% 2 0   0%
python/lsst/images/ndf/_model.py HdsStructure.ensure_structure   0% 19 19 0   0% 12 0   0%
python/lsst/images/ndf/_model.py HdsStructure.write_to_hdf5   0% 12 12 0   0% 8 0   0%
python/lsst/images/ndf/_model.py HdsExtension.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py NdfContainer.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py NdfContainer.ensure_ndf   0% 4 4 0   0% 2 0   0%
python/lsst/images/ndf/_model.py NdfArray.to_hds_structure   0% 7 7 0   0% 4 0   0%
python/lsst/images/ndf/_model.py NdfArray.from_hds_structure   0% 15 15 0   0% 10 0   0%
python/lsst/images/ndf/_model.py NdfQuality.to_hds_structure   0% 4 4 0   100% 0 0   0%
python/lsst/images/ndf/_model.py NdfWcs.to_hds_structure   0% 3 3 0   100% 0 0   0%
python/lsst/images/ndf/_model.py Ndf.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py Ndf.set_array_component   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py Ndf.set_quality   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py Ndf.set_wcs   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py Ndf.set_units   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_model.py Ndf.get_units   0% 7 7 0   0% 4 0   0%
python/lsst/images/ndf/_model.py Ndf.ensure_lsst_extension   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py NdfDocument.from_hdf5   0% 9 9 0   0% 4 0   0%
python/lsst/images/ndf/_model.py NdfDocument.write_to_hdf5   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_model.py NdfDocument.ensure_ndf   0% 10 10 0   0% 8 0   0%
python/lsst/images/ndf/_model.py NdfDocument.get   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py _new_structure   0% 5 5 0   0% 4 0   0%
python/lsst/images/ndf/_model.py _default_hds_type_for_name   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py _split_path   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_model.py _clear_hdf5_group   0% 5 5 0   0% 6 0   0%
python/lsst/images/ndf/_model.py (no function)   100% 85 0 0   100% 0 0   100%
python/lsst/images/ndf/_output_archive.py write   0% 14 14 0   0% 8 0   0%
python/lsst/images/ndf/_output_archive.py _origin_from_bbox   0% 6 6 0   0% 4 0   0%
python/lsst/images/ndf/_output_archive.py _unit_to_ndf_string   0% 4 4 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py _fits_header_records   0% 5 5 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py _get_archive_layout   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py _show_ast_for_ndf   0% 14 14 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py _show_mask_ast_for_ndf   0% 16 16 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.__init__   0% 11 11 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.open   0% 8 8 0   0% 4 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.add_tree   0% 20 20 0   0% 14 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._write_wcs   0% 13 13 0   0% 6 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.serialize_direct   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.serialize_pointer   0% 12 12 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.serialize_frame_set   0% 3 3 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.iter_frame_sets   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.add_array   0% 37 37 0   0% 14 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._ensure_path   0% 3 3 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._ensure_struct   0% 3 3 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._ensure_array_structure   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._ensure_quality_structure   0% 8 8 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._ensure_quality_array_structure   0% 14 14 0   0% 4 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._write_quality_array   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._set_quality_array   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._collapse_mask_to_quality   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._write_origin_for_array   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.set_array_origin   0% 10 10 0   0% 4 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._ensure_model_structure   0% 3 3 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._archive_path_to_hdf5_path   0% 6 6 0   0% 4 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._has_model_path   0% 5 5 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._model_array_ndim   0% 5 5 0   0% 2 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive._flush   0% 1 1 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.add_table   0% 2 2 0   100% 0 0   0%
python/lsst/images/ndf/_output_archive.py NdfOutputArchive.add_structured_array   0% 25 25 0   0% 16 0   0%
python/lsst/images/ndf/_output_archive.py (no function)   100% 61 0 0   100% 0 0   100%
python/lsst/images/psfs/__init__.py (no function)   100% 4 0 0   100% 0 0   100%
python/lsst/images/psfs/_base.py PointSpreadFunction.bounds   100% 0 0 1   100% 0 0   100%
python/lsst/images/psfs/_base.py PointSpreadFunction.kernel_bbox   100% 0 0 1   100% 0 0   100%
python/lsst/images/psfs/_base.py PointSpreadFunction.compute_kernel_image   100% 0 0 1   100% 0 0   100%
python/lsst/images/psfs/_base.py PointSpreadFunction.compute_stellar_image   100% 0 0 1   100% 0 0   100%
python/lsst/images/psfs/_base.py PointSpreadFunction.compute_stellar_bbox   100% 0 0 1   100% 0 0   100%
python/lsst/images/psfs/_base.py PointSpreadFunction.from_legacy   0% 15 15 0   0% 6 0   0%
python/lsst/images/psfs/_base.py (no function)   100% 21 0 0   100% 0 0   100%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.__init__   0% 10 10 0   0% 6 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.__eq__   0% 9 9 0   0% 8 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.kernel_bbox   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction._centered_coordinates   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction._kernel_array   0% 4 4 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.compute_kernel_image   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.compute_stellar_image   0% 6 6 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.compute_stellar_bbox   0% 4 4 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction.serialize   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPointSpreadFunction._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_gaussian.py GaussianPSFSerializationModel.deserialize   0% 3 3 0   0% 2 0   0%
python/lsst/images/psfs/_gaussian.py (no function)   100% 35 0 0   100% 0 0   100%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.kernel_bbox   0% 5 5 0   0% 2 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.compute_kernel_image   0% 7 7 0   0% 2 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.compute_stellar_image   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.compute_stellar_bbox   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.legacy_psf   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py LegacyPointSpreadFunction.from_legacy   0% 4 4 0   0% 2 0   0%
python/lsst/images/psfs/_legacy.py PSFExWrapper.__init__   0% 4 4 0   0% 2 0   0%
python/lsst/images/psfs/_legacy.py PSFExWrapper.serialize   0% 4 4 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py PSFExWrapper._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_legacy.py PSFExSerializationModel.deserialize   0% 20 20 0   0% 2 0   0%
python/lsst/images/psfs/_legacy.py (no function)   100% 42 0 0   100% 0 0   100%
python/lsst/images/psfs/_piff.py PiffWrapper.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.bounds   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.kernel_bbox   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.compute_kernel_image   0% 6 6 1   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.compute_stellar_image   0% 6 6 1   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.compute_stellar_bbox   0% 4 4 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.piff_psf   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.from_legacy   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.to_legacy   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper.serialize   0% 6 6 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py PiffWrapper._without_stars   0% 7 7 0   0% 2 0   0%
python/lsst/images/psfs/_piff.py PiffSerializationModel.deserialize   0% 10 10 0   0% 2 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.__init__   0% 5 5 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.write_struct   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.write_table   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.write_wcs_map   0% 5 5 1   0% 2 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.nested   0% 3 3 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.get_full_name   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter.serialize   0% 10 10 0   0% 8 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffWriter._to_builtin   0% 12 12 0   0% 10 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffReader.__init__   0% 3 3 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffReader.read_struct   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffReader.read_table   0% 6 6 0   0% 4 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffReader.read_wcs_map   0% 8 8 0   0% 4 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffReader.nested   0% 2 2 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py _ArchivePiffReader.get_full_name   0% 1 1 0   100% 0 0   0%
python/lsst/images/psfs/_piff.py (no function)   100% 77 0 8   100% 0 0   100%
python/lsst/images/serialization/__init__.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/images/serialization/_asdf_utils.py _UnitSerialization.__get_pydantic_core_schema__   100% 2 0 0   100% 0 0   100%
python/lsst/images/serialization/_asdf_utils.py _UnitSerialization.from_str   0% 5 5 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _UnitSerialization.to_str   0% 5 5 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py ArrayReferenceModel.with_units   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py InlineArrayModel.shape   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py InlineArrayModel.with_units   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py InlineArrayModel._extract_shape   0% 5 5 0   0% 4 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArraySerialization.__get_pydantic_core_schema__   100% 2 0 0   100% 0 0   100%
python/lsst/images/serialization/_asdf_utils.py _InlineArraySerialization.__get_pydantic_json_schema__   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArraySerialization.from_model   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArraySerialization.to_model   0% 2 2 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _QuantitySerialization.__get_pydantic_core_schema__   100% 2 0 0   100% 0 0   100%
python/lsst/images/serialization/_asdf_utils.py _QuantitySerialization.__get_pydantic_json_schema__   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _QuantitySerialization.from_model   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _QuantitySerialization.to_model   0% 2 2 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArrayQuantitySerialization.__get_pydantic_core_schema__   0% 2 2 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArrayQuantitySerialization.__get_pydantic_json_schema__   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArrayQuantitySerialization.from_model   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _InlineArrayQuantitySerialization.to_model   0% 2 2 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _TimeSerialization.__get_pydantic_core_schema__   0% 2 2 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _TimeSerialization.__get_pydantic_json_schema__   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _TimeSerialization.from_model   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_asdf_utils.py _TimeSerialization.to_model   0% 3 3 0   0% 2 0   0%
python/lsst/images/serialization/_asdf_utils.py (no function)   100% 91 0 0   100% 0 0   100%
python/lsst/images/serialization/_common.py ArchiveTree.deserialize   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_common.py ArchiveTree.deserialize_component   0% 9 9 0   0% 4 0   0%
python/lsst/images/serialization/_common.py OpaqueArchiveMetadata.copy   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_common.py OpaqueArchiveMetadata.subset   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_common.py no_header_updates   100% 0 0 0   100% 0 0   100%
python/lsst/images/serialization/_common.py (no function)   93% 42 3 3   100% 0 0   93%
python/lsst/images/serialization/_dtypes.py NumberType.to_numpy   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_dtypes.py NumberType.from_numpy   0% 4 4 0   0% 2 0   0%
python/lsst/images/serialization/_dtypes.py NumberType.from_numpy_with_shape   0% 6 6 0   0% 2 0   0%
python/lsst/images/serialization/_dtypes.py NumberType.require_integer   0% 3 3 0   0% 2 0   0%
python/lsst/images/serialization/_dtypes.py is_integer   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_dtypes.py (no function)   100% 29 0 0   100% 0 0   100%
python/lsst/images/serialization/_input_archive.py InputArchive.deserialize_pointer   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_input_archive.py InputArchive.get_frame_set   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_input_archive.py InputArchive.get_array   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_input_archive.py InputArchive.get_table   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_input_archive.py InputArchive.get_structured_array   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_input_archive.py InputArchive.get_opaque_metadata   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_input_archive.py (no function)   100% 27 0 2   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.serialize_direct   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.serialize_pointer   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.serialize_frame_set   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.iter_frame_sets   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.add_array   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.add_table   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py OutputArchive.add_structured_array   100% 0 0 1   100% 0 0   100%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.__init__   0% 2 2 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.serialize_direct   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.serialize_pointer   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.serialize_frame_set   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.iter_frame_sets   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.add_array   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.add_table   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive.add_structured_array   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py NestedOutputArchive._join_path   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_output_archive.py (no function)   100% 39 0 2   100% 0 0   100%
python/lsst/images/serialization/_tables.py TableColumnModel.from_record_dtype   0% 11 11 0   0% 4 0   0%
python/lsst/images/serialization/_tables.py TableColumnModel.from_record_array   0% 12 12 0   0% 6 0   0%
python/lsst/images/serialization/_tables.py TableColumnModel.from_table   0% 1 1 0   100% 0 0   0%
python/lsst/images/serialization/_tables.py TableColumnModel.from_column   0% 6 6 0   100% 0 0   0%
python/lsst/images/serialization/_tables.py TableColumnModel.update_table   0% 7 7 0   0% 4 0   0%
python/lsst/images/serialization/_tables.py (no function)   100% 35 0 2   100% 0 0   100%
python/lsst/images/tests/__init__.py (no function)   100% 4 0 0   100% 0 0   100%
python/lsst/images/tests/_checks.py assert_close   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_checks.py assert_equal_allow_nan   0% 5 5 0   0% 2 0   0%
python/lsst/images/tests/_checks.py assert_images_equal   0% 11 11 0   0% 6 0   0%
python/lsst/images/tests/_checks.py assert_masks_equal   0% 5 5 0   100% 0 0   0%
python/lsst/images/tests/_checks.py assert_masked_images_equal   0% 5 5 0   100% 0 0   0%
python/lsst/images/tests/_checks.py assert_psfs_equal   0% 15 15 0   0% 6 0   0%
python/lsst/images/tests/_checks.py assert_visit_images_equal   0% 12 12 0   100% 0 0   0%
python/lsst/images/tests/_checks.py assert_cell_coadds_equal   0% 9 9 0   100% 0 0   0%
python/lsst/images/tests/_checks.py compare_image_to_legacy   0% 5 5 0   0% 4 0   0%
python/lsst/images/tests/_checks.py compare_mask_to_legacy   0% 5 5 0   0% 4 0   0%
python/lsst/images/tests/_checks.py compare_masked_image_to_legacy   0% 10 10 0   0% 8 0   0%
python/lsst/images/tests/_checks.py compare_visit_image_to_legacy   0% 29 29 0   0% 18 0   0%
python/lsst/images/tests/_checks.py compare_photo_calib_to_legacy   0% 11 11 0   0% 8 0   0%
python/lsst/images/tests/_checks.py compare_cell_coadd_to_legacy   0% 31 31 0   0% 12 0   0%
python/lsst/images/tests/_checks.py compare_cell_coadd_provenance_to_legacy   0% 29 29 0   0% 4 0   0%
python/lsst/images/tests/_checks.py compare_psf_to_legacy   0% 17 17 0   0% 8 0   0%
python/lsst/images/tests/_checks.py compare_field_to_legacy   0% 6 6 0   100% 0 0   0%
python/lsst/images/tests/_checks.py compare_aperture_corrections_to_legacy   0% 3 3 0   0% 2 0   0%
python/lsst/images/tests/_checks.py compare_observation_summary_stats_to_legacy   0% 7 7 0   0% 6 0   0%
python/lsst/images/tests/_checks.py compare_projection_to_legacy_wcs   0% 15 15 0   0% 2 0   0%
python/lsst/images/tests/_checks.py check_transform   0% 30 30 0   0% 6 0   0%
python/lsst/images/tests/_checks.py check_projection   0% 19 19 0   0% 2 0   0%
python/lsst/images/tests/_checks.py assert_projections_equal   0% 14 14 0   0% 8 0   0%
python/lsst/images/tests/_checks.py check_astropy_wcs_interface   0% 6 6 0   100% 0 0   0%
python/lsst/images/tests/_checks.py legacy_points_to_xy_array   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_checks.py legacy_coords_to_astropy   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_checks.py arrays_to_legacy_points   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/_checks.py compare_amplifier_to_legacy   0% 24 24 0   0% 4 0   0%
python/lsst/images/tests/_checks.py compare_detector_to_legacy   0% 25 25 0   0% 2 0   0%
python/lsst/images/tests/_checks.py (no function)   100% 52 0 9   100% 0 0   100%
python/lsst/images/tests/_creation.py make_random_projection   0% 3 3 0   100% 0 0   0%
python/lsst/images/tests/_creation.py (no function)   100% 8 0 0   100% 0 0   100%
python/lsst/images/tests/_data_ids.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/images/tests/_roundtrip.py TemporaryButler.__init__   0% 4 4 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py TemporaryButler.__enter__   0% 19 19 0   0% 6 0   0%
python/lsst/images/tests/_roundtrip.py TemporaryButler.__exit__   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py TemporaryButler.__getattr__   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase.__init__   0% 10 10 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase.__enter__   0% 13 13 0   0% 8 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase.__exit__   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase.filename   0% 4 4 0   0% 2 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase.serialized   0% 5 5 0   0% 2 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase.get   0% 15 15 0   0% 12 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase._run_with_butler   0% 11 11 0   0% 2 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase._run_without_butler   0% 7 7 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripBase._get_extension   100% 0 0 1   100% 0 0   100%
python/lsst/images/tests/_roundtrip.py RoundtripBase._write   100% 0 0 1   100% 0 0   100%
python/lsst/images/tests/_roundtrip.py RoundtripBase._read   100% 0 0 1   100% 0 0   100%
python/lsst/images/tests/_roundtrip.py RoundtripFits.inspect   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripFits._get_extension   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripFits._write   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripFits._read   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripJson.inspect   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripJson._get_extension   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripJson._write   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripJson._read   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripNdf.inspect   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripNdf._get_extension   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripNdf._write   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py RoundtripNdf._read   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/_roundtrip.py (no function)   96% 56 2 2   100% 0 0   96%
python/lsst/images/tests/extract_legacy_test_data.py extract_visit_image   0% 12 12 0   0% 2 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_visit_image_background   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_visit_summary   0% 2 2 0   100% 0 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_cell_coadd   0% 16 16 0   0% 8 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_camera   0% 3 3 0   100% 0 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_skymap   0% 4 4 0   0% 2 0   0%
python/lsst/images/tests/extract_legacy_test_data.py find_dataset_or_raise   0% 4 4 0   0% 2 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_test_data   0% 1 1 0   100% 0 0   0%
python/lsst/images/tests/extract_legacy_test_data.py extract_dp2   0% 17 17 0   0% 12 0   0%
python/lsst/images/tests/extract_legacy_test_data.py (no function)   0% 34 34 2   100% 0 0   0%
python/lsst/images/utils.py round_half_up   0% 1 1 0   100% 0 0   0%
python/lsst/images/utils.py round_half_down   0% 1 1 0   100% 0 0   0%
python/lsst/images/utils.py round_half_away_from_zero   0% 3 3 0   0% 2 0   0%
python/lsst/images/utils.py (no function)   83% 12 2 0   50% 2 1   79%
python/lsst/images/version.py (no function)   100% 5 0 0   100% 0 0   100%
tests/test_cameras.py CamerasTestCase.setUpClass   0% 2 2 0   100% 0 0   0%
tests/test_cameras.py CamerasTestCase.test_visit_image_detector_legacy_conversions   0% 6 6 0   100% 0 0   0%
tests/test_cameras.py CamerasTestCase.test_camera_detector_legacy_conversions   0% 13 13 0   0% 4 0   0%
tests/test_cameras.py CamerasTestCase.test_expanded_detector_roundtrip   0% 10 10 0   0% 2 0   0%
tests/test_cameras.py (no function)   100% 18 0 6   100% 0 0   100%
tests/test_cell_coadd.py CellCoaddTestCase.setUpClass   0% 12 12 0   100% 0 0   0%
tests/test_cell_coadd.py CellCoaddTestCase.make_psf_points   0% 2 2 0   100% 0 0   0%
tests/test_cell_coadd.py CellCoaddTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests/test_cell_coadd.py CellCoaddTestCase.test_from_legacy   0% 3 3 0   100% 0 0   0%
tests/test_cell_coadd.py CellCoaddTestCase.test_roundtrip   0% 19 19 0   0% 2 0   0%
tests/test_cell_coadd.py CellCoaddTestCase.test_fits_json_consistency   0% 4 4 0   100% 0 0   0%
tests/test_cell_coadd.py (no function)   100% 19 0 2   100% 0 0   100%
tests/test_color_image.py ColorImageTestCase.setUp   0% 7 7 0   100% 0 0   0%
tests/test_color_image.py ColorImageTestCase.test_properties   0% 6 6 0   100% 0 0   0%
tests/test_color_image.py ColorImageTestCase.test_constructor   0% 2 2 0   100% 0 0   0%
tests/test_color_image.py ColorImageTestCase.test_fits_roundtrip   0% 3 3 0   100% 0 0   0%
tests/test_color_image.py ColorImageTestCase.test_ndf_roundtrip   0% 3 3 0   100% 0 0   0%
tests/test_color_image.py ColorImageTestCase.test_fits_json_consistency   0% 4 4 0   100% 0 0   0%
tests/test_color_image.py ColorImageTestCase.test_ndf_layout   0% 15 15 0   0% 2 0   0%
tests/test_color_image.py ColorImageTestCase.assert_color_images_equal   0% 5 5 0   0% 4 0   0%
tests/test_color_image.py _cls   0% 4 4 0   0% 2 0   0%
tests/test_color_image.py (no function)   91% 23 2 2   100% 0 0   91%
tests/test_fields.py FieldTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_chebyshev_call_limits   0% 5 5 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_chebyshev_attributes   0% 6 6 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_chebyshev_fit   0% 33 33 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_chebyshev_evaluation_consistency   0% 1 1 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_chebyshev_units   0% 1 1 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_spline_knot_evaluation   0% 3 3 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_spline_evaluation_consistency   0% 1 1 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_spline_units   0% 1 1 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_product_evaluation   0% 3 3 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_product_evaluation_consistency   0% 1 1 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_product_units   0% 4 4 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_sum_evaluation   0% 3 3 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_sum_evaluation_consistency   0% 1 1 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.test_sum_units   0% 14 14 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.check_evaluation_consistency   0% 10 10 0   100% 0 0   0%
tests/test_fields.py FieldTestCase.check_units   0% 8 8 0   100% 0 0   0%
tests/test_fields.py FieldLegacyTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests/test_fields.py FieldLegacyTestCase.test_chebyshev_roundtrip   0% 7 7 0   100% 0 0   0%
tests/test_fields.py FieldLegacyTestCase.test_product_roundtrip   0% 7 7 0   100% 0 0   0%
tests/test_fields.py FieldLegacyTestCase.test_spline_simple   0% 9 9 0   100% 0 0   0%
tests/test_fields.py FieldLegacyTestCase.test_spline_one_nan   0% 10 10 0   100% 0 0   0%
tests/test_fields.py FieldLegacyDataTestCase.test_visit_background   0% 5 5 0   100% 0 0   0%
tests/test_fields.py (no function)   96% 45 2 2   100% 0 0   96%
tests/test_geom.py XYYXTestCase.test_yx   0% 9 9 0   100% 0 0   0%
tests/test_geom.py XYYXTestCase.test_yx._plus_one   0% 1 1 0   100% 0 0   0%
tests/test_geom.py XYYXTestCase.test_xy   0% 9 9 0   100% 0 0   0%
tests/test_geom.py XYYXTestCase.test_xy._plus_one   0% 1 1 0   100% 0 0   0%
tests/test_geom.py IntervalTestCase.test_constructor   0% 25 25 0   100% 0 0   0%
tests/test_geom.py IntervalTestCase.test_contains   0% 15 15 0   100% 0 0   0%
tests/test_geom.py IntervalTestCase.test_slice   0% 48 48 0   100% 0 0   0%
tests/test_geom.py IntervalTestCase.test_usage   0% 19 19 0   100% 0 0   0%
tests/test_geom.py IntervalTestCase.test_pydantic   0% 7 7 0   100% 0 0   0%
tests/test_geom.py IntervalTestCase.test_pickle   0% 4 4 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_constructor   0% 31 31 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_contains   0% 11 11 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_intersection   0% 5 5 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_slicing   0% 34 34 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_mesh   0% 23 23 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_boundary   0% 6 6 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_pydantic   0% 6 6 0   100% 0 0   0%
tests/test_geom.py BoxTestCase.test_pickle   0% 4 4 0   100% 0 0   0%
tests/test_geom.py (no function)   100% 31 0 2   100% 0 0   100%
tests/test_image.py ImageTestCase.test_basics   0% 25 25 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_json_roundtrip   0% 4 4 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_fits_roundtrip   0% 5 5 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_ndf_roundtrip   0% 4 4 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_fits_ndf_consistency   0% 6 6 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_fits_json_consistency   0% 6 6 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_quantity   0% 11 11 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_read_write   0% 22 22 0   100% 0 0   0%
tests/test_image.py ImageTestCase.test_legacy   0% 25 25 0   100% 0 0   0%
tests/test_image.py (no function)   93% 28 2 2   100% 0 0   93%
tests/test_json_schema.py JsonSchemaTestCase._check   0% 6 6 0   100% 0 0   0%
tests/test_json_schema.py JsonSchemaTestCase.test_visit_image   0% 3 3 0   0% 2 0   0%
tests/test_json_schema.py JsonSchemaTestCase.test_cell_coadd   0% 3 3 0   0% 2 0   0%
tests/test_json_schema.py (no function)   100% 9 0 2   100% 0 0   100%
tests/test_legacy.py LegacyConversionTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests/test_legacy.py LegacyConversionTestCase.test_interval   0% 7 7 0   100% 0 0   0%
tests/test_legacy.py LegacyConversionTestCase.test_box   0% 9 9 0   100% 0 0   0%
tests/test_legacy.py LegacyConversionTestCase.test_image   0% 7 7 0   100% 0 0   0%
tests/test_legacy.py LegacyConversionTestCase.test_fits_compression_from_recipe   0% 3 3 0   100% 0 0   0%
tests/test_legacy.py (no function)   89% 18 2 2   100% 0 0   89%
tests/test_mask.py MaskTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests/test_mask.py MaskTestCase.make_mask_planes   0% 6 6 0   0% 2 0   0%
tests/test_mask.py MaskTestCase.test_schema   0% 34 34 0   100% 0 0   0%
tests/test_mask.py MaskTestCase.test_basics   0% 18 18 0   100% 0 0   0%
tests/test_mask.py MaskTestCase.test_read_write   0% 10 10 0   100% 0 0   0%
tests/test_mask.py MaskTestCase.test_serialize_multi   0% 25 25 0   0% 8 0   0%
tests/test_mask.py MaskTestCase.test_legacy   0% 24 24 0   100% 0 0   0%
tests/test_mask.py (no function)   100% 17 0 2   100% 0 0   100%
tests/test_masked_image.py MaskedImageTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_construction   0% 32 32 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_subset   0% 6 6 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_fits_roundtrip   0% 19 19 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_fits_roundtrip_lossy   0% 14 14 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_round_trip_ndf_compatible_mask   0% 2 2 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_round_trip_ndf_incompatible_mask   0% 6 6 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_round_trip_ndf_many_plane_mask   0% 9 9 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_fits_ndf_consistency   0% 4 4 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_fits_json_consistency   0% 4 4 0   100% 0 0   0%
tests/test_masked_image.py MaskedImageTestCase.test_legacy   0% 13 13 0   100% 0 0   0%
tests/test_masked_image.py (no function)   94% 33 2 2   100% 0 0   94%
tests/test_ndf_common.py NdfPointerModelTestCase.test_round_trips_through_json   0% 4 4 0   100% 0 0   0%
tests/test_ndf_common.py NdfPointerModelTestCase.test_archive_path_to_hdf5_path   0% 3 3 0   100% 0 0   0%
tests/test_ndf_common.py NdfPointerModelTestCase.test_archive_path_to_hdf5_path_rejects_long_components   0% 2 2 0   100% 0 0   0%
tests/test_ndf_common.py (no function)   83% 12 2 0   100% 0 0   83%
tests/test_ndf_hds.py _attr_str   0% 5 5 0   0% 4 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_real_array_round_trip   0% 10 10 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_double_array_round_trip   0% 7 7 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_ubyte_and_integer   0% 11 11 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_logical_uses_hdf5_bitfield   0% 11 11 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_unsupported_dtype_raises_on_write   0% 4 4 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_unsupported_dtype_raises_on_read   0% 6 6 0   0% 2 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_read_array_rejects_char_dataset   0% 6 6 0   0% 2 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_char_array_round_trip   0% 10 10 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_char_array_pads_and_strips   0% 6 6 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_char_array_rejects_long_lines   0% 3 3 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_char_array_rejects_non_ascii   0% 3 3 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_ndf_ast_data_encoding_uses_flagged_fixed_width_records   0% 8 8 0   100% 0 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_read_char_array_rejects_numeric_dataset   0% 6 6 0   0% 2 0   0%
tests/test_ndf_hds.py HdsPrimitiveTestCase.test_hds_type_for_dtype   0% 8 8 0   100% 0 0   0%
tests/test_ndf_hds.py HdsStructureTestCase.test_create_open_structure   0% 13 13 0   100% 0 0   0%
tests/test_ndf_hds.py HdsStructureTestCase.test_open_structure_missing_class_raises   0% 6 6 0   0% 2 0   0%
tests/test_ndf_hds.py HdsStructureTestCase.test_open_structure_accepts_legacy_hdstype   0% 7 7 0   100% 0 0   0%
tests/test_ndf_hds.py HdsStructureTestCase.test_set_root_name   0% 6 6 0   100% 0 0   0%
tests/test_ndf_hds.py HdsCanonicalExampleTestCase.test_root_is_ndf_with_root_name   0% 3 3 0   100% 0 0   0%
tests/test_ndf_hds.py HdsCanonicalExampleTestCase.test_data_array_is_array_structure   0% 12 12 0   100% 0 0   0%
tests/test_ndf_hds.py HdsCanonicalExampleTestCase.test_wcs_is_structure_with_ast_text   0% 8 8 0   100% 0 0   0%
tests/test_ndf_hds.py HdsCanonicalExampleTestCase.test_more_fits_present   0% 6 6 0   100% 0 0   0%
tests/test_ndf_hds.py (no function)   95% 41 2 0   100% 0 0   95%
tests/test_ndf_input_archive.py NdfInputArchiveOpenTestCase.test_open_round_trips_image_tree   0% 7 7 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveOpenTestCase.test_get_tree_raises_when_main_json_missing   0% 8 8 0   0% 2 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_get_array_reads_image_array   0% 7 7 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_get_array_supports_slicing   0% 7 7 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_get_array_handles_inline_array   0% 8 8 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_get_array_unrecognised_source_raises   0% 8 8 0   0% 2 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_deserialize_pointer_round_trips_subtree   0% 10 10 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_deserialize_pointer_caches_by_ref   0% 14 14 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_deserialize_pointer_caches_by_ref.deserializer   0% 2 2 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_deserialize_pointer_caches_frame_set_for_get_frame_set   0% 15 15 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_deserialize_pointer_caches_frame_set_for_get_frame_set.DummyFrameSet.__contains__   0% 1 1 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_deserialize_pointer_caches_frame_set_for_get_frame_set.DummyFrameSet.__getitem__   100% 0 0 1   100% 0 0   100%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_get_frame_set_returns_cached_value   0% 8 8 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveDataTestCase.test_get_frame_set_raises_if_not_cached   0% 7 7 0   0% 2 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveOpaqueMetadataTestCase.test_more_fits_round_trips_via_opaque_metadata   0% 13 13 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfInputArchiveOpaqueMetadataTestCase.test_get_opaque_metadata_empty_when_no_more_fits   0% 8 8 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_round_trips_image   0% 8 8 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_starlink_file_auto_detects_image   0% 6 6 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_starlink_file_recovers_opaque_fits_metadata   0% 6 6 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_auto_detects_nested_quality_array   0% 21 21 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_auto_detect_preserves_quality_bits   0% 24 24 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_auto_detected_data_only_as_masked_image_uses_defaults   0% 14 14 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_auto_detected_variance_as_masked_image_keeps_variance   0% 16 16 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_auto_detected_units_component   0% 10 10 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_missing_data_array_raises   0% 6 6 0   100% 0 0   0%
tests/test_ndf_input_archive.py NdfReadFunctionTestCase.test_read_auto_detect_wrong_target_type_raises   0% 3 3 0   100% 0 0   0%
tests/test_ndf_input_archive.py (no function)   96% 49 2 0   100% 0 0   96%
tests/test_ndf_layout.py _cls   0% 6 6 0   0% 4 0   0%
tests/test_ndf_layout.py _hds_type   0% 4 4 0   0% 2 0   0%
tests/test_ndf_layout.py _hds_shape   0% 1 1 0   100% 0 0   0%
tests/test_ndf_layout.py NdfImageLayoutTestCase.test_image_layout   0% 21 21 0   100% 0 0   0%
tests/test_ndf_layout.py NdfCompatibleMaskLayoutTestCase.test_masked_image_compatible_mask_layout   0% 44 44 0   100% 0 0   0%
tests/test_ndf_layout.py NdfIncompatibleMaskLayoutTestCase.test_masked_image_incompatible_mask_layout   0% 30 30 0   100% 0 0   0%
tests/test_ndf_layout.py NdfIncompatibleMaskLayoutTestCase.test_masked_image_many_plane_mask_layout   0% 23 23 0   100% 0 0   0%
tests/test_ndf_layout.py (no function)   92% 24 2 2   100% 0 0   92%
tests/test_ndf_model.py _attr_str   0% 3 3 0   0% 2 0   0%
tests/test_ndf_model.py NdfModelTestCase.test_ndf_document_writes_standard_components   0% 28 28 0   100% 0 0   0%
tests/test_ndf_model.py NdfModelTestCase.test_document_read_preserves_typed_ndf_components   0% 15 15 0   100% 0 0   0%
tests/test_ndf_model.py (no function)   88% 16 2 2   100% 0 0   88%
tests/test_ndf_output_archive.py TinyFrameSet.__contains__   0% 1 1 0   100% 0 0   0%
tests/test_ndf_output_archive.py TinyFrameSet.__getitem__   0% 1 1 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveBasicsTestCase.test_serialize_direct_calls_serializer_with_nested_archive   0% 5 5 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveBasicsTestCase.test_constructor_marks_root_as_ndf   0% 5 5 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddArrayTestCase.test_top_level_image_routes_to_data_array   0% 14 14 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddArrayTestCase.test_top_level_variance_routes_to_variance   0% 9 9 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddArrayTestCase.test_top_level_compatible_mask_routes_to_quality   0% 16 16 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddArrayTestCase.test_top_level_incompatible_mask_routes_to_more_lsst   0% 19 19 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddArrayTestCase.test_nested_array_hoists_as_sub_ndf   0% 18 18 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchivePointerTestCase.test_serialize_pointer_writes_subtree_and_returns_pointer   0% 9 9 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchivePointerTestCase.test_serialize_pointer_caches_by_key   0% 11 11 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchivePointerTestCase.test_serialize_pointer_preserves_nested_arrays   0% 15 15 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchivePointerTestCase.test_serialize_frame_set_records_for_iter   0% 10 10 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddTableTestCase.test_add_table_returns_inline_table_model   0% 7 7 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddTableTestCase.test_add_structured_array_writes_column_ndfs_with_units   0% 23 23 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfOutputArchiveAddTableTestCase.test_add_single_column_structured_array_uses_table_name   0% 17 17 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteWcsTestCase.test_write_with_projection_creates_wcs_component   0% 24 24 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteWcsTestCase.test_write_without_projection_omits_wcs_component   0% 6 6 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteWcsTestCase.test_mask_sub_ndf_gets_3d_wcs   0% 31 31 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteWcsTestCase.test_mask_sub_ndf_no_wcs_when_image_has_no_projection   0% 9 9 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteFunctionTestCase.test_write_image_produces_valid_layout   0% 17 17 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteFunctionTestCase.test_write_image_preserves_opaque_fits_metadata   0% 20 20 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteFunctionTestCase.test_write_image_main_json_round_trips_back   0% 9 9 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteFunctionTestCase.test_write_image_with_unit_creates_units_component   0% 10 10 0   100% 0 0   0%
tests/test_ndf_output_archive.py NdfWriteFunctionTestCase.test_write_propagates_metadata   0% 10 10 0   100% 0 0   0%
tests/test_ndf_output_archive.py (no function)   97% 61 2 0   100% 0 0   97%
tests/test_ndf_starlink_ingest.py StarlinkIngestTestCase.test_round_trips_to_image   0% 3 3 0   100% 0 0   0%
tests/test_ndf_starlink_ingest.py StarlinkIngestTestCase.test_wcs_produces_projection   0% 8 8 0   100% 0 0   0%
tests/test_ndf_starlink_ingest.py StarlinkIngestTestCase.test_opaque_fits_metadata_recovered   0% 7 7 0   100% 0 0   0%
tests/test_ndf_starlink_ingest.py (no function)   88% 17 2 2   100% 0 0   88%
tests/test_polygon.py SimplePolygonTestCase.setUp   0% 3 3 0   100% 0 0   0%
tests/test_polygon.py SimplePolygonTestCase.test_vertices   0% 7 7 0   100% 0 0   0%
tests/test_polygon.py SimplePolygonTestCase.test_boxes   0% 14 14 0   100% 0 0   0%
tests/test_polygon.py SimplePolygonTestCase.test_contains_points   0% 4 4 0   100% 0 0   0%
tests/test_polygon.py SimplePolygonTestCase.test_io   0% 4 4 0   100% 0 0   0%
tests/test_polygon.py SimplePolygonTestCase.test_legacy   0% 3 3 0   100% 0 0   0%
tests/test_polygon.py RegionTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests/test_polygon.py RegionTestCase.test_intersection   0% 7 7 0   100% 0 0   0%
tests/test_polygon.py RegionTestCase.test_union   0% 5 5 0   100% 0 0   0%
tests/test_polygon.py RegionTestCase.test_difference   0% 7 7 0   100% 0 0   0%
tests/test_polygon.py RegionTestCase.test_io   0% 5 5 0   100% 0 0   0%
tests/test_polygon.py (no function)   91% 23 2 2   100% 0 0   91%
tests/test_psfs.py PointSpreadFunctionTestCase.test_gaussian   0% 22 22 0   100% 0 0   0%
tests/test_psfs.py PointSpreadFunctionTestCase.test_piff_writer_normalizes_tuple_metadata   0% 9 9 0   100% 0 0   0%
tests/test_psfs.py PointSpreadFunctionTestCase.test_piff   0% 27 27 0   0% 2 0   0%
tests/test_psfs.py PointSpreadFunctionTestCase.test_psfex   0% 22 22 0   100% 0 0   0%
tests/test_psfs.py (no function)   91% 22 2 2   100% 0 0   91%
tests/test_transforms.py TransformTestCase.test_identity   0% 8 8 0   100% 0 0   0%
tests/test_transforms.py TransformTestCase.test_camera   0% 32 32 0   100% 0 0   0%
tests/test_transforms.py TransformTestCase.compare_to_legacy_camera   0% 23 23 0   100% 0 0   0%
tests/test_transforms.py TransformTestCase.test_detector_wcs   0% 28 28 0   100% 0 0   0%
tests/test_transforms.py FrameSetTestHolder.serialize   0% 3 3 0   100% 0 0   0%
tests/test_transforms.py FrameSetTestHolder._get_archive_tree_type   0% 1 1 0   100% 0 0   0%
tests/test_transforms.py FrameSetTestHolderModel.deserialize   0% 4 4 0   100% 0 0   0%
tests/test_transforms.py (no function)   100% 31 0 2   100% 0 0   100%
tests/test_utils.py UtilsTestCase.test_round_half_away_from_zero   0% 17 17 0   100% 0 0   0%
tests/test_utils.py UtilsTestCase.test_round_up   0% 17 17 0   100% 0 0   0%
tests/test_utils.py (no function)   100% 6 0 2   100% 0 0   100%
tests/test_visit_image.py VisitImageTestCase.setUpClass   0% 22 22 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_basics   0% 27 27 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_copy_and_slice   0% 20 20 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_obs_info   0% 5 5 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_summary_stats   0% 3 3 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_round_trip_ndf   0% 2 2 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_fits_ndf_consistency   0% 4 4 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_fits_json_consistency   0% 4 4 0   100% 0 0   0%
tests/test_visit_image.py VisitImageTestCase.test_read_write   0% 43 43 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_legacy_errors   0% 12 12 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_component_reads   0% 24 24 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.check_legacy_obs_info   0% 5 5 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_obs_info   0% 9 9 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_aperture_corrections_to_legacy   0% 2 2 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_read_legacy_headers   0% 10 10 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_from_legacy_headers   0% 10 10 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_rewrite   0% 37 37 0   0% 2 0   0%
tests/test_visit_image.py VisitImageLegacyTestMixin.test_butler_converters   0% 24 24 0   0% 2 0   0%
tests/test_visit_image.py VisitImageLegacyTestCase.setUpClass   0% 10 10 0   100% 0 0   0%
tests/test_visit_image.py VisitImageLegacyTestCase.test_convert_unit   0% 58 58 0   100% 0 0   0%
tests/test_visit_image.py PreliminaryVisitImageLegacyTestCase.setUpClass   0% 10 10 0   100% 0 0   0%
tests/test_visit_image.py (no function)   97% 62 2 2   100% 0 0   97%
Total     32% 10823 7384 276   2% 2028 41   27%

No items found using the specified filter.