Coverage report: 88%

Files Functions Classes

coverage.py v7.14.1, created at 2026-06-14 19:50 -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/scarlet/__init__.py (no function)   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/__init__.py (no function)   88% 16 2 0   100% 0 0   88%
python/lsst/scarlet/lite/bbox.py Box.__init__   62% 8 3 0   75% 4 1   67%
python/lsst/scarlet/lite/bbox.py Box.from_bounds   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.from_data   100% 8 0 0   100% 4 0   100%
python/lsst/scarlet/lite/bbox.py Box.contains   100% 6 0 0   100% 6 0   100%
python/lsst/scarlet/lite/bbox.py Box.ndim   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.start   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.stop   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.center   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.bounds   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.slices   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/bbox.py Box.grow   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/bbox.py Box.shifted_by   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.intersects   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.overlapped_slices   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.__or__   100% 6 0 0   100% 4 0   100%
python/lsst/scarlet/lite/bbox.py Box.__and__   100% 6 0 0   100% 4 0   100%
python/lsst/scarlet/lite/bbox.py Box.__getitem__   100% 10 0 0   100% 4 0   100%
python/lsst/scarlet/lite/bbox.py Box.__repr__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box._offset_to_tuple   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/bbox.py Box.__add__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.__sub__   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.__matmul__   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/bbox.py Box.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.copy   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py Box.__eq__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/bbox.py Box.__hash__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/bbox.py overlapped_slices   100% 7 0 0   100% 2 0   100%
python/lsst/scarlet/lite/bbox.py (no function)   100% 42 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.components   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.__getitem__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.__copy__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.__deepcopy__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.copy   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.get_model   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py BlendBase.to_data   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py Blend.__init__   86% 7 1 0   50% 2 1   78%
python/lsst/scarlet/lite/blend.py Blend.get_model   91% 11 1 0   90% 10 1   90%
python/lsst/scarlet/lite/blend.py Blend._grad_log_likelihood   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py Blend.log_likelihood   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py Blend.fit_spectra   100% 34 0 0   100% 20 0   100%
python/lsst/scarlet/lite/blend.py Blend.fit   100% 14 0 0   100% 10 0   100%
python/lsst/scarlet/lite/blend.py Blend.parameterize   100% 2 0 0   100% 2 0   100%
python/lsst/scarlet/lite/blend.py Blend.conserve_flux   100% 27 0 0   75% 8 2   94%
python/lsst/scarlet/lite/blend.py Blend.to_data   100% 9 0 0   100% 4 0   100%
python/lsst/scarlet/lite/blend.py Blend.__getitem__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py Blend.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/blend.py Blend.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/blend.py (no function)   100% 47 0 2   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.__init__   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.bands   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.resize   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.update   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.get_model   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.parameterize   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.to_data   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.__getitem__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.__copy__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.__deepcopy__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py Component.copy   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.__init__   100% 10 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.peak   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.component_center   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.spectrum   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.morph   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.get_model   100% 4 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.grad_spectrum   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.grad_morph   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.prox_spectrum   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.prox_morph   95% 19 1 0   80% 10 2   90%
python/lsst/scarlet/lite/component.py FactorizedComponent.resize   76% 17 4 0   62% 8 1   72%
python/lsst/scarlet/lite/component.py FactorizedComponent.update   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.parameterize   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.to_data   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.__str__   0% 2 2 0   100% 0 0   0%
python/lsst/scarlet/lite/component.py FactorizedComponent.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/component.py FactorizedComponent.__getitem__   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/component.py FactorizedComponent.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/component.py FactorizedComponent.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py CubeComponent.__init__   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py CubeComponent.get_model   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py CubeComponent.resize   0% 2 2 0   100% 0 0   0%
python/lsst/scarlet/lite/component.py CubeComponent.update   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/component.py CubeComponent.parameterize   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/component.py CubeComponent.to_data   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py CubeComponent.__getitem__   100% 7 0 0   100% 2 0   100%
python/lsst/scarlet/lite/component.py CubeComponent.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/component.py CubeComponent.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/component.py default_fista_parameterization   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/component.py default_adaprox_parameterization   100% 6 0 0   75% 4 1   90%
python/lsst/scarlet/lite/component.py (no function)   100% 75 0 2   100% 0 0   100%
python/lsst/scarlet/lite/detect.py bounds_to_bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py bbox_to_bounds   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py Footprint.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py Footprint.yx0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py Footprint.intersection   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py Footprint.union   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py footprints_to_image   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/detect.py get_wavelets   100% 8 0 0   100% 2 0   100%
python/lsst/scarlet/lite/detect.py get_detect_wavelets   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/detect.py detect_footprints   100% 14 0 0   100% 6 0   100%
python/lsst/scarlet/lite/detect.py (no function)   100% 24 0 0   100% 0 0   100%
python/lsst/scarlet/lite/display.py channels_to_rgb   0% 59 59 0   0% 16 0   0%
python/lsst/scarlet/lite/display.py LinearPercentileNorm.__init__   0% 6 6 0   0% 4 0   0%
python/lsst/scarlet/lite/display.py AsinhPercentileNorm.__init__   0% 8 8 0   0% 4 0   0%
python/lsst/scarlet/lite/display.py img_to_3channel   0% 19 19 0   0% 12 0   0%
python/lsst/scarlet/lite/display.py img_to_rgb   0% 9 9 0   0% 6 0   0%
python/lsst/scarlet/lite/display.py show_likelihood   0% 6 6 0   100% 0 0   0%
python/lsst/scarlet/lite/display.py _add_markers   0% 6 6 0   0% 4 0   0%
python/lsst/scarlet/lite/display.py show_observation   0% 43 43 0   0% 20 0   0%
python/lsst/scarlet/lite/display.py show_scene   0% 69 69 0   0% 42 0   0%
python/lsst/scarlet/lite/display.py get_extent   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/display.py show_sources   0% 56 56 0   0% 26 0   0%
python/lsst/scarlet/lite/display.py compare_spectra   0% 29 29 0   0% 16 0   0%
python/lsst/scarlet/lite/display.py (no function)   100% 27 0 0   100% 0 0   100%
python/lsst/scarlet/lite/fft.py centered   100% 9 0 0   100% 2 0   100%
python/lsst/scarlet/lite/fft.py fast_zero_pad   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/fft.py _pad   100% 19 0 0   100% 8 0   100%
python/lsst/scarlet/lite/fft.py get_fft_shape   100% 23 0 0   100% 16 0   100%
python/lsst/scarlet/lite/fft.py Fourier.__init__   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/fft.py Fourier.from_fft   90% 10 1 0   75% 4 1   86%
python/lsst/scarlet/lite/fft.py Fourier.image   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/fft.py Fourier.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/fft.py Fourier.fft   100% 14 0 0   100% 8 0   100%
python/lsst/scarlet/lite/fft.py Fourier.__len__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/fft.py Fourier.__getitem__   0% 7 7 0   0% 4 0   0%
python/lsst/scarlet/lite/fft.py _kspace_operation   100% 16 0 0   100% 8 0   100%
python/lsst/scarlet/lite/fft.py match_kernel   100% 13 0 0   100% 10 0   100%
python/lsst/scarlet/lite/fft.py convolve   100% 10 0 0   100% 8 0   100%
python/lsst/scarlet/lite/fft.py (no function)   100% 27 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py get_dtypes   83% 6 1 0   75% 4 1   80%
python/lsst/scarlet/lite/image.py get_combined_dtype   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__init__   100% 12 0 0   100% 6 0   100%
python/lsst/scarlet/lite/image.py Image.from_box   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.dtype   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.bands   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.n_bands   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.is_multiband   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.height   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.width   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.yx0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.y0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.x0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.data   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.ndim   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.spectral_indices   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.matched_spectral_indices   100% 15 0 0   100% 8 0   100%
python/lsst/scarlet/lite/image.py Image.matched_slices   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.project   95% 19 1 0   90% 10 1   93%
python/lsst/scarlet/lite/image.py Image.multiband_slices   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.insert_into   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.insert   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.repeat   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__copy__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/image.py Image.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/image.py Image.copy   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.copy_with   100% 9 0 0   88% 8 1   94%
python/lsst/scarlet/lite/image.py Image.trimmed   0% 5 5 0   100% 0 0   0%
python/lsst/scarlet/lite/image.py Image.at   0% 5 5 0   0% 2 0   0%
python/lsst/scarlet/lite/image.py Image._i_update   92% 12 1 0   75% 4 1   88%
python/lsst/scarlet/lite/image.py Image._check_equality   90% 10 1 0   88% 8 1   89%
python/lsst/scarlet/lite/image.py Image.__eq__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__ne__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__ge__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__le__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__gt__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__lt__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__neg__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__pos__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__invert__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__add__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__iadd__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__radd__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__sub__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__isub__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rsub__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__mul__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__imul__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rmul__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__truediv__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__itruediv__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rtruediv__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__floordiv__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__ifloordiv__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rfloordiv__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__pow__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__ipow__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rpow__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__mod__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__imod__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rmod__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__and__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__iand__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rand__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__or__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__ior__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__ror__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__xor__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__ixor__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rxor__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__lshift__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__ilshift__   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rlshift__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rshift__   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__irshift__   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__rrshift__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image._is_spectral_index   90% 10 1 0   88% 8 1   89%
python/lsst/scarlet/lite/image.py Image._get_box_slices   100% 12 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image._get_sliced   94% 50 3 0   91% 32 3   93%
python/lsst/scarlet/lite/image.py Image.overlapped_slices   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py Image.__getitem__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py Image.__setitem__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/image.py _operate_on_images   88% 26 3 0   90% 10 1   89%
python/lsst/scarlet/lite/image.py insert_image   100% 10 0 0   100% 2 0   100%
python/lsst/scarlet/lite/image.py (no function)   100% 114 0 0   100% 0 0   100%
python/lsst/scarlet/lite/initialization.py trim_morphology   67% 6 2 0   50% 2 1   62%
python/lsst/scarlet/lite/initialization.py init_monotonic_morph   100% 19 0 0   92% 12 1   97%
python/lsst/scarlet/lite/initialization.py multifit_spectra   100% 17 0 0   100% 6 0   100%
python/lsst/scarlet/lite/initialization.py FactorizedInitialization.__init__   89% 37 4 0   67% 12 4   84%
python/lsst/scarlet/lite/initialization.py FactorizedInitialization.thresh   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/initialization.py FactorizedInitialization.get_snr   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/initialization.py FactorizedInitialization.get_psf_component   100% 15 0 0   100% 2 0   100%
python/lsst/scarlet/lite/initialization.py FactorizedInitialization.get_single_component   95% 19 1 0   75% 4 1   91%
python/lsst/scarlet/lite/initialization.py FactorizedInitialization.init_source   92% 24 2 0   100% 4 0   93%
python/lsst/scarlet/lite/initialization.py FactorizedWaveletInitialization.__init__   100% 13 0 0   50% 2 1   93%
python/lsst/scarlet/lite/initialization.py FactorizedWaveletInitialization.init_source   83% 35 6 0   65% 20 1   76%
python/lsst/scarlet/lite/initialization.py (no function)   100% 31 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/__init__.py (no function)   100% 10 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend.py ScarletBlendData.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend.py ScarletBlendData.as_dict   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/io/blend.py ScarletBlendData.from_dict   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend.py ScarletBlendData.minimal_data_to_blend   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend.py ScarletBlendData.to_blend   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/io/blend.py ScarletBlendData.from_blend   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/io/blend.py _to_1_0_0   100% 4 0 0   50% 2 1   83%
python/lsst/scarlet/lite/io/blend.py (no function)   100% 40 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend_base.py ScarletBlendBaseData.bbox   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend_base.py ScarletBlendBaseData.register   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend_base.py ScarletBlendBaseData.as_dict   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/blend_base.py ScarletBlendBaseData.from_dict   80% 5 1 0   50% 2 1   71%
python/lsst/scarlet/lite/io/blend_base.py (no function)   100% 24 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/component.py ScarletComponentBaseData.register   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/component.py ScarletComponentBaseData.to_component   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/component.py ScarletComponentBaseData.as_dict   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/component.py ScarletComponentBaseData.from_dict   86% 7 1 0   75% 4 1   82%
python/lsst/scarlet/lite/io/component.py (no function)   100% 23 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/cube_component.py ComponentCube.__init__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/io/cube_component.py ScarletCubeComponentData.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/cube_component.py ScarletCubeComponentData.to_component   88% 8 1 0   50% 2 1   80%
python/lsst/scarlet/lite/io/cube_component.py ScarletCubeComponentData.as_dict   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/cube_component.py ScarletCubeComponentData.from_dict   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/cube_component.py _to_1_0_0   0% 2 2 0   100% 0 0   0%
python/lsst/scarlet/lite/io/cube_component.py (no function)   100% 36 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/factorized_component.py ScarletFactorizedComponentData.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/factorized_component.py ScarletFactorizedComponentData.to_component   90% 10 1 0   50% 2 1   83%
python/lsst/scarlet/lite/io/factorized_component.py ScarletFactorizedComponentData.as_dict   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/factorized_component.py ScarletFactorizedComponentData.from_dict   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/factorized_component.py _to_1_0_0   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/factorized_component.py (no function)   100% 31 0 2   100% 0 0   100%
python/lsst/scarlet/lite/io/hierarchical_blend.py HierarchicalBlendData.bbox   0% 10 10 0   0% 2 0   0%
python/lsst/scarlet/lite/io/hierarchical_blend.py HierarchicalBlendData.as_dict   0% 4 4 0   0% 2 0   0%
python/lsst/scarlet/lite/io/hierarchical_blend.py HierarchicalBlendData.from_dict   0% 9 9 0   0% 2 0   0%
python/lsst/scarlet/lite/io/hierarchical_blend.py _to_1_0_0   0% 2 2 0   100% 0 0   0%
python/lsst/scarlet/lite/io/hierarchical_blend.py (no function)   100% 27 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/migration.py MigrationRegistry.register   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/migration.py MigrationRegistry.set_current   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/migration.py MigrationRegistry.migrate   87% 15 2 0   75% 8 2   83%
python/lsst/scarlet/lite/io/migration.py migration   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/migration.py migration.decorator   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/migration.py (no function)   100% 17 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/model_data.py ScarletModelData.__init__   75% 4 1 0   50% 2 1   67%
python/lsst/scarlet/lite/io/model_data.py ScarletModelData.as_dict   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/model_data.py ScarletModelData.json   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/model_data.py ScarletModelData.from_dict   73% 11 3 0   75% 4 1   73%
python/lsst/scarlet/lite/io/model_data.py ScarletModelData.parse_obj   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/model_data.py _to_1_0_0   100% 4 0 0   50% 2 1   83%
python/lsst/scarlet/lite/io/model_data.py (no function)   100% 26 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source.py ScarletSourceData.as_dict   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/io/source.py ScarletSourceData.from_dict   100% 4 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source.py ScarletSourceData.to_source   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source.py ScarletSourceData.from_source   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/io/source.py _to_1_0_0   50% 6 3 0   50% 2 1   50%
python/lsst/scarlet/lite/io/source.py (no function)   100% 35 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source_base.py ScarletSourceBaseData.register   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source_base.py ScarletSourceBaseData.as_dict   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source_base.py ScarletSourceBaseData.from_dict   71% 7 2 0   50% 4 2   64%
python/lsst/scarlet/lite/io/source_base.py ScarletSourceBaseData.to_source   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/source_base.py (no function)   100% 24 0 0   100% 0 0   100%
python/lsst/scarlet/lite/io/utils.py numpy_to_json   45% 11 6 0   25% 8 2   37%
python/lsst/scarlet/lite/io/utils.py json_to_numpy   67% 3 1 0   50% 2 1   60%
python/lsst/scarlet/lite/io/utils.py encode_metadata   100% 15 0 0   100% 8 0   100%
python/lsst/scarlet/lite/io/utils.py decode_metadata   92% 12 1 0   88% 8 1   90%
python/lsst/scarlet/lite/io/utils.py extract_from_metadata   71% 7 2 0   67% 6 2   69%
python/lsst/scarlet/lite/io/utils.py (no function)   100% 10 0 0   100% 0 0   100%
python/lsst/scarlet/lite/measure.py calculate_snr   100% 10 0 0   100% 0 0   100%
python/lsst/scarlet/lite/measure.py conserve_flux   0% 33 33 0   0% 10 0   0%
python/lsst/scarlet/lite/measure.py (no function)   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.__init__   100% 5 0 0   50% 2 1   86%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.grad_fit_kernel   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.prox_kernel   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.fitted_kernel   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.cached_kernel   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.convolve   100% 7 0 0   100% 4 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.update   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfObservation.parameterize   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfBlend._grad_log_likelihood   100% 4 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfBlend.fit   83% 18 3 0   70% 10 3   79%
python/lsst/scarlet/lite/models/fit_psf.py FittedPsfBlend.parameterize   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/fit_psf.py (no function)   100% 25 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/free_form.py FactorizedFreeFormComponent.__init__   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/free_form.py FactorizedFreeFormComponent.prox_spectrum   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/free_form.py FactorizedFreeFormComponent.prox_morph   100% 18 0 0   100% 8 0   100%
python/lsst/scarlet/lite/models/free_form.py FactorizedFreeFormComponent.resize   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/free_form.py FactorizedFreeFormComponent.__str__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FactorizedFreeFormComponent.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.__init__   0% 7 7 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.model   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.get_model   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.shape   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.grad_model   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.prox_model   0% 18 18 0   0% 8 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.resize   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.update   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.parameterize   0% 3 3 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.__str__   0% 2 2 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.to_data   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.__getitem__   0% 4 4 0   0% 2 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.__deepcopy__   0% 6 6 0   0% 2 0   0%
python/lsst/scarlet/lite/models/free_form.py FreeFormComponent.__copy__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/free_form.py (no function)   100% 36 0 2   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py CartesianFrame.__init__   100% 9 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py CartesianFrame.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py CartesianFrame.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py CartesianFrame.x_grid   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py CartesianFrame.y_grid   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.__init__   100% 16 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.grad_x0   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.grad_y0   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.grad_major   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.grad_minor   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.grad_theta   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.x0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.y0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.major   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.minor   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.theta   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.r_grid   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipseFrame.r2_grid   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py gaussian2d   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py grad_gaussian2   100% 7 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py circular_gaussian   100% 4 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py grad_circular_gaussian   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py integrated_gaussian   100% 7 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py grad_integrated_gaussian   100% 17 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py bounded_prox   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py sersic   100% 7 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py grad_sersic   100% 15 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.__init__   100% 12 0 0   100% 2 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.peak   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.y0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.x0   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.spectrum   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.frame   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.radial_params   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent._get_morph   100% 3 0 0   50% 2 1   80%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.morph   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.prox_morph   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.grad_morph   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.morph_step   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.get_model   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.prox_spectrum   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.grad_spectrum   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.update   100% 4 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.resize   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.parameterize   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.to_data   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.__getitem__   0% 6 6 0   0% 2 0   0%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.__deepcopy__   0% 6 6 0   0% 2 0   0%
python/lsst/scarlet/lite/models/parametric.py ParametricComponent.__copy__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.semi_major   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.semi_minor   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.theta   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.ellipse_params   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.radial_params   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.frame   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.morph_prox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.morph_grad   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py EllipticalParametricComponent.update   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/models/parametric.py (no function)   100% 109 0 2   100% 0 0   100%
python/lsst/scarlet/lite/observation.py get_filter_coords   100% 14 0 0   83% 6 1   95%
python/lsst/scarlet/lite/observation.py get_filter_bounds   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py convolve   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/observation.py _set_image_like   86% 7 1 0   83% 6 1   85%
python/lsst/scarlet/lite/observation.py Observation.__init__   96% 26 1 0   90% 10 1   94%
python/lsst/scarlet/lite/observation.py Observation.bands   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.bbox   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.convolve   100% 25 0 0   94% 16 1   98%
python/lsst/scarlet/lite/observation.py Observation.log_likelihood   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.__getitem__   89% 19 2 0   83% 6 1   88%
python/lsst/scarlet/lite/observation.py Observation.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/observation.py Observation.copy   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/observation.py Observation.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.n_bands   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.dtype   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py Observation.convolution_bounds   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/observation.py Observation.empty   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/observation.py (no function)   100% 37 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py prox_connected   100% 9 0 0   100% 2 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.__init__   100% 7 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.center   100% 4 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.update   100% 40 0 0   100% 4 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.check_size   100% 6 0 0   100% 4 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.__call__   100% 14 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.__copy__   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py Monotonicity.__deepcopy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py get_peak   100% 8 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py prox_monotonic_mask   100% 18 0 0   100% 4 0   100%
python/lsst/scarlet/lite/operators.py uncentered_operator   100% 24 0 0   100% 14 0   100%
python/lsst/scarlet/lite/operators.py prox_sdss_symmetry   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py prox_uncentered_symmetry   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/operators.py (no function)   100% 24 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py step_function_wrapper   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.__init__   100% 8 0 0   100% 2 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.step   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.shape   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.dtype   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.__copy__   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.__deepcopy__   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.copy   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.update   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py Parameter.resize   100% 8 0 0   100% 2 0   100%
python/lsst/scarlet/lite/parameters.py parameter   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/parameters.py FistaParameter.__init__   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/parameters.py FistaParameter.update   86% 14 2 0   50% 4 2   78%
python/lsst/scarlet/lite/parameters.py FistaParameter.__deepcopy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py FistaParameter.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py _adam_phi_psi   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py _nadam_phi_psi   100% 6 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py _amsgrad_phi_psi   100% 8 0 0   50% 2 1   90%
python/lsst/scarlet/lite/parameters.py _padam_phi_psi   100% 8 0 0   50% 2 1   90%
python/lsst/scarlet/lite/parameters.py _adamx_phi_psi   100% 11 0 0   100% 4 0   100%
python/lsst/scarlet/lite/parameters.py _radam_phi_psi   100% 14 0 0   75% 4 1   94%
python/lsst/scarlet/lite/parameters.py SingleItemArray.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py SingleItemArray.__getitem__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py AdaproxParameter.__init__   100% 19 0 0   100% 8 0   100%
python/lsst/scarlet/lite/parameters.py AdaproxParameter.update   100% 9 0 0   100% 4 0   100%
python/lsst/scarlet/lite/parameters.py AdaproxParameter.__deepcopy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py AdaproxParameter.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py FixedParameter.__init__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py FixedParameter.update   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py FixedParameter.__copy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py FixedParameter.__deepcopy__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py relative_step   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/parameters.py (no function)   100% 49 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py SourceBase.to_data   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py SourceBase.__getitem__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py SourceBase.__deepcopy__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py SourceBase.__copy__   100% 0 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py SourceBase.copy   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/source.py Source.__init__   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py Source.n_components   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py Source.center   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/source.py Source.source_center   100% 6 0 0   100% 2 0   100%
python/lsst/scarlet/lite/source.py Source.is_null   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py Source.bbox   100% 6 0 0   100% 4 0   100%
python/lsst/scarlet/lite/source.py Source.bands   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/source.py Source.get_model   100% 8 0 0   100% 6 0   100%
python/lsst/scarlet/lite/source.py Source.parameterize   100% 2 0 0   100% 2 0   100%
python/lsst/scarlet/lite/source.py Source.to_data   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py Source.__str__   100% 1 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py Source.__repr__   0% 1 1 0   100% 0 0   0%
python/lsst/scarlet/lite/source.py Source.__getitem__   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py Source.__deepcopy__   83% 6 1 0   50% 2 1   75%
python/lsst/scarlet/lite/source.py Source.__copy__   100% 2 0 0   100% 0 0   100%
python/lsst/scarlet/lite/source.py (no function)   100% 42 0 2   100% 0 0   100%
python/lsst/scarlet/lite/utils.py integrated_gaussian_value   100% 3 0 0   100% 0 0   100%
python/lsst/scarlet/lite/utils.py integrated_circular_gaussian   100% 11 0 0   100% 6 0   100%
python/lsst/scarlet/lite/utils.py get_circle_mask   100% 10 0 0   100% 2 0   100%
python/lsst/scarlet/lite/utils.py is_attribute_safe_to_transfer   100% 3 0 0   100% 2 0   100%
python/lsst/scarlet/lite/utils.py convert_indices   92% 26 2 0   92% 12 1   92%
python/lsst/scarlet/lite/utils.py continue_class   100% 6 0 0   100% 4 0   100%
python/lsst/scarlet/lite/utils.py (no function)   100% 17 0 0   100% 0 0   100%
python/lsst/scarlet/lite/version.py (no function)   100% 5 0 0   100% 0 0   100%
python/lsst/scarlet/lite/wavelet.py bspline_convolve   100% 17 0 0   100% 0 0   100%
python/lsst/scarlet/lite/wavelet.py get_starlet_scales   100% 4 0 0   100% 2 0   100%
python/lsst/scarlet/lite/wavelet.py starlet_transform   89% 18 2 0   70% 10 3   82%
python/lsst/scarlet/lite/wavelet.py multiband_starlet_transform   78% 9 2 0   67% 6 2   73%
python/lsst/scarlet/lite/wavelet.py starlet_reconstruction   100% 11 0 0   83% 6 1   94%
python/lsst/scarlet/lite/wavelet.py multiband_starlet_reconstruction   100% 5 0 0   100% 2 0   100%
python/lsst/scarlet/lite/wavelet.py get_multiresolution_support   97% 34 1 0   95% 20 1   96%
python/lsst/scarlet/lite/wavelet.py apply_wavelet_denoising   100% 12 0 0   67% 6 2   89%
python/lsst/scarlet/lite/wavelet.py (no function)   100% 16 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.check_bbox   100% 4 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_constructors   100% 10 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_from_data   100% 12 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_contains   100% 11 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_properties   100% 13 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_simple_methods   100% 8 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_union   100% 8 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_intersection   100% 8 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_intersections   100% 12 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_offset   100% 5 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_arithmetic   100% 23 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_slicing   100% 4 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_slices_rejects_negative_origin   100% 8 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_shallow_copy   100% 4 0 0   100% 0 0   100%
tests/test_bbox.py TestBox.test_deepcopy   100% 4 0 0   100% 0 0   100%
tests/test_bbox.py (no function)   100% 20 0 0   100% 0 0   100%
tests/test_blend.py TestBlend.setUp   100% 23 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_exact   100% 15 0 0   100% 0 0   100%
tests/test_blend.py TestBlend.test_fit_spectra   100% 13 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_fit   100% 11 0 0   100% 0 0   100%
tests/test_blend.py TestBlend.test_non_factorized   100% 17 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_clipping   100% 13 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_shallow_copy   100% 9 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_deepcopy   100% 15 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_slice   100% 8 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_reorder   100% 9 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_subset   100% 8 0 0   100% 2 0   100%
tests/test_blend.py TestBlend.test_indexing_errors   100% 21 0 0   100% 0 0   100%
tests/test_blend.py (no function)   100% 24 0 0   100% 0 0   100%
tests/test_component.py DummyComponent.resize   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.update   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.get_model   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.parameterize   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.to_data   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.__getitem__   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.__copy__   0% 1 1 0   100% 0 0   0%
tests/test_component.py DummyComponent.__deepcopy__   0% 1 1 0   100% 0 0   0%
tests/test_component.py _ComponentTestBase.test_slice   100% 4 0 0   100% 0 0   100%
tests/test_component.py _ComponentTestBase.test_reorder   100% 8 0 0   100% 0 0   100%
tests/test_component.py _ComponentTestBase.test_subset   100% 11 0 0   100% 0 0   100%
tests/test_component.py _ComponentTestBase.test_indexing_errors   100% 20 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.setUp   100% 11 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_constructor   100% 21 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_get_model   100% 7 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_gradients   100% 8 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_proximal_operators   100% 23 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_prox_morph_enforces_positivity_with_bg_thresh   100% 7 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_resize   100% 14 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_parameterization   100% 13 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_shallow_copy   100% 10 0 0   100% 0 0   100%
tests/test_component.py TestFactorizedComponent.test_deep_copy   100% 17 0 0   100% 0 0   100%
tests/test_component.py TestCubeComponent.setUp   100% 9 0 0   100% 0 0   100%
tests/test_component.py TestCubeComponent.test_constructor   100% 6 0 0   100% 0 0   100%
tests/test_component.py TestCubeComponent.test_shallow_copy   100% 5 0 0   100% 0 0   100%
tests/test_component.py TestCubeComponent.test_deep_copy   100% 8 0 0   100% 0 0   100%
tests/test_component.py TestCubeComponent.test_deep_copy_preserves_memo   100% 6 0 0   100% 0 0   100%
tests/test_component.py (no function)   100% 42 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.setUp   100% 17 0 0   100% 4 0   100%
tests/test_detect.py TestDetect.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_connected   100% 21 0 0   100% 0 0   100%
tests/test_detect.py TestDetect._check_footprints   100% 23 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_get_footprints   100% 2 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_get_footprints_min_area_boundary   100% 6 0 0   100% 0 0   100%
tests/test_detect.py TestDetect._check_peaks   100% 7 0 0   83% 6 1   92%
tests/test_detect.py TestDetect.test_detect_footprints   100% 9 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_detect_footprints_min_pixel_detect   100% 14 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_bounds_to_bbox   100% 6 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_footprint   100% 22 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_get_wavelets   100% 5 0 0   100% 0 0   100%
tests/test_detect.py TestDetect.test_get_detect_wavelets   100% 4 0 0   100% 0 0   100%
tests/test_detect.py (no function)   100% 22 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_shift   100% 9 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_center   100% 14 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_pad   100% 12 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_get_fft_shape   100% 12 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_2d_psf_matching   100% 8 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_from_fft   100% 6 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_fourier   100% 12 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_convolutions   100% 7 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_normalize_deprecated   100% 11 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_convolve_cache_opt_out   100% 3 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_convolve_cache_default_on   100% 7 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_fourier_fft_no_cache   100% 9 0 0   100% 0 0   100%
tests/test_fft.py TestFourier.test_multiband_psf_matching   100% 11 0 0   100% 2 0   100%
tests/test_fft.py (no function)   100% 22 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_constructors   100% 45 0 0   100% 0 0   100%
tests/test_image.py TestImage._binary_operation_test   100% 36 0 0   100% 10 0   100%
tests/test_image.py TestImage.check_simple_arithmetic   100% 29 0 0   100% 4 0   100%
tests/test_image.py TestImage.test_simple_3d_arithmetic   100% 8 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_simple_2d_arithmetic   100% 8 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_3d_image_equality   100% 19 0 0   100% 2 0   100%
tests/test_image.py TestImage.test_2d_image_equality   100% 14 0 0   100% 2 0   100%
tests/test_image.py TestImage.test_simple_boolean_arithmetic   100% 21 0 0   100% 4 0   100%
tests/test_image.py TestImage._3d_mismatched_images_test   96% 45 2 0   83% 6 1   94%
tests/test_image.py TestImage._2d_mismatched_images_test   100% 18 0 0   100% 2 0   100%
tests/test_image.py TestImage.test_mismatchd_arithmetic   100% 4 0 0   100% 2 0   100%
tests/test_image.py TestImage.test_scalar_arithmetic   100% 17 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_slicing   100% 38 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_overlap_detection   100% 11 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_insertion   100% 8 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_matched_spectral_indices   100% 9 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_project   100% 12 0 0   100% 0 0   100%
tests/test_image.py TestImage.test_repeat   100% 8 0 0   100% 0 0   100%
tests/test_image.py (no function)   100% 25 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.setUp   100% 9 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_trim_morphology   100% 18 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_init_monotonic_mask   100% 17 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_init_monotonic_weighted   100% 21 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_multifit_spectra   100% 15 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_psf_component_at_boundary   100% 19 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_get_psf_component_zero_psf_spectrum   100% 7 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_get_single_component_zero_convolved   100% 9 0 0   100% 0 0   100%
tests/test_initialization.py TestInitialization.test_factorized_chi2_init   100% 15 0 0   100% 4 0   100%
tests/test_initialization.py TestInitialization.test_wavelet_init_source_falls_back_to_psf   100% 11 0 0   100% 4 0   100%
tests/test_initialization.py TestInitialization.test_factorized_wavelet_init   100% 10 0 0   100% 2 0   100%
tests/test_initialization.py (no function)   100% 25 0 0   100% 0 0   100%
tests/test_io.py TestIo.setUp   100% 11 0 0   100% 0 0   100%
tests/test_io.py TestIo.test_json   100% 28 0 0   100% 4 0   100%
tests/test_io.py TestIo.test_cube_component   100% 16 0 0   100% 4 0   100%
tests/test_io.py TestIo.test_cube_component_to_component_preserves_peak   100% 6 0 0   100% 0 0   100%
tests/test_io.py TestIo.test_legacy_json   100% 28 0 0   100% 4 0   100%
tests/test_io.py (no function)   100% 16 0 0   100% 0 0   100%
tests/test_measure.py TestMeasurements.test_snr   100% 15 0 0   100% 0 0   100%
tests/test_measure.py TestMeasurements.test_conserve_flux   100% 17 0 0   100% 0 0   100%
tests/test_measure.py (no function)   100% 12 0 0   100% 0 0   100%
tests/test_models.py parameterize   100% 3 0 0   100% 0 0   100%
tests/test_models.py TestFreeForm.setUp   100% 10 0 0   100% 0 0   100%
tests/test_models.py TestFreeForm.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_models.py TestFreeForm.test_free_form_component   100% 27 0 0   100% 6 0   100%
tests/test_models.py TestParametric.setUp   100% 9 0 0   100% 0 0   100%
tests/test_models.py TestParametric.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_models.py TestParametric.test_cartesian_frame   100% 11 0 0   100% 0 0   100%
tests/test_models.py TestParametric.test_ellipse_frame   100% 34 0 0   100% 2 0   100%
tests/test_models.py TestParametric.test_grad_sersic_n_index   100% 18 0 0   100% 2 0   100%
tests/test_models.py TestParametric.test_grad_sersic_n_index.sersic_fixed_bn   100% 2 0 0   100% 0 0   100%
tests/test_models.py TestParametric.test_grad_circular_gaussian   100% 16 0 0   100% 2 0   100%
tests/test_models.py TestParametric.test_grad_gaussian2   100% 20 0 0   100% 2 0   100%
tests/test_models.py TestParametric.test_grad_integrated_gaussian   100% 16 0 0   100% 2 0   100%
tests/test_models.py TestParametric.test_grad_sersic_ellipse_params   100% 22 0 0   100% 2 0   100%
tests/test_models.py TestParametric.test_parametric_component   100% 58 0 0   100% 4 0   100%
tests/test_models.py TestParametric.test_psf_fitting   100% 9 0 0   100% 0 0   100%
tests/test_models.py TestParametric.test_psf_fitting.fista_parameterization   100% 5 0 0   75% 4 1   89%
tests/test_models.py (no function)   100% 32 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.setUp   100% 17 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_real_convolution_function   100% 10 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_constructors   100% 18 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_convolve   100% 22 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_convolve_cache_default_off   100% 11 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_convolve_cache_opt_in   100% 10 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_index_extraction   100% 20 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_slicing   100% 22 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_shallow_copy   100% 2 0 0   100% 0 0   100%
tests/test_observation.py TestObservation.test_deep_copy   100% 11 0 0   100% 0 0   100%
tests/test_observation.py (no function)   100% 20 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.setUp   100% 5 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.test_prox_connected   100% 11 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.test_monotonicity   100% 41 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.test_resize_monotonicity   100% 15 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.test_check_size   100% 11 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.test_off_center_monotonicity   100% 18 0 0   100% 0 0   100%
tests/test_operators.py TestOperators.test_symmetry   100% 37 0 0   100% 0 0   100%
tests/test_operators.py (no function)   100% 14 0 0   100% 0 0   100%
tests/test_parameters.py prox_ceiling   100% 2 0 0   100% 0 0   100%
tests/test_parameters.py grad   100% 1 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_parameter_class   100% 22 0 0   100% 2 0   100%
tests/test_parameters.py TestParameters.test_growing   100% 16 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_fista_parameter   100% 9 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_adprox_parameter   100% 16 0 0   100% 2 0   100%
tests/test_parameters.py TestParameters.test_adaprox_variants_converge   100% 7 0 0   100% 4 0   100%
tests/test_parameters.py TestParameters.test_adaprox_variants_converge.quad_grad   100% 1 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_adamx_first_iteration   100% 8 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_fixed_parameter   100% 4 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_shallow_copy   100% 17 0 0   100% 0 0   100%
tests/test_parameters.py TestParameters.test_deep_copy   100% 38 0 0   100% 0 0   100%
tests/test_parameters.py (no function)   100% 17 0 0   100% 0 0   100%
tests/test_source.py TestSource.setUp   100% 10 0 0   100% 0 0   100%
tests/test_source.py TestSource.test_empty_constructor   100% 7 0 0   100% 0 0   100%
tests/test_source.py TestSource.test_single_component_constructor   100% 10 0 0   100% 0 0   100%
tests/test_source.py TestSource.test_multiple_component_constructor   100% 18 0 0   100% 0 0   100%
tests/test_source.py TestSource.test_shallow_copy   100% 9 0 0   100% 0 0   100%
tests/test_source.py TestSource.test_deepcopy   100% 13 0 0   100% 2 0   100%
tests/test_source.py TestSource.test_slice   100% 6 0 0   100% 2 0   100%
tests/test_source.py TestSource.test_reorder   100% 12 0 0   100% 4 0   100%
tests/test_source.py TestSource.test_subset   100% 14 0 0   100% 6 0   100%
tests/test_source.py TestSource.test_indexing_errors   100% 19 0 0   100% 0 0   100%
tests/test_source.py (no function)   100% 16 0 0   100% 0 0   100%
tests/test_utils.py DummyClass.__init__   100% 1 0 0   100% 0 0   100%
tests/test_utils.py DummyClass.square   100% 1 0 0   100% 0 0   100%
tests/test_utils.py TestUtils.test_integrated_gaussians   100% 14 0 0   100% 0 0   100%
tests/test_utils.py TestUtils.test_circle_mask   100% 6 0 0   100% 0 0   100%
tests/test_utils.py TestUtils.test_continue_class   100% 2 0 0   100% 0 0   100%
tests/test_utils.py (no function)   100% 13 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.setUp   100% 3 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.tearDown   100% 1 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.test_transform_inverse   100% 11 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.test_multiband_transform   100% 7 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.test_extras   100% 5 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.test_ground_branch_unbiased_sigma   100% 9 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.test_space_branch_reproducible   100% 15 0 0   100% 0 0   100%
tests/test_wavelet.py TestWavelet.test_space_branch_iterates_sigma   100% 9 0 0   100% 0 0   100%
tests/test_wavelet.py (no function)   100% 14 0 0   100% 0 0   100%
tests/utils.py get_psfs   100% 6 0 0   100% 0 0   100%
tests/utils.py execute_doc_scripts   0% 35 35 0   0% 12 0   0%
tests/utils.py ObservationData.__init__   100% 19 0 0   100% 4 0   100%
tests/utils.py ScarletTestCase.assertBoxEqual   70% 10 3 0   100% 0 0   70%
tests/utils.py ScarletTestCase.assertImageAlmostEqual   50% 16 8 0   50% 4 2   50%
tests/utils.py ScarletTestCase.assertImageEqual   100% 2 0 0   100% 0 0   100%
tests/utils.py ScarletTestCase.assertFactorizedComponentEqual   100% 10 0 0   100% 0 0   100%
tests/utils.py ScarletTestCase.assertSourceEqual   100% 5 0 0   100% 2 0   100%
tests/utils.py ScarletTestCase.assertObservationEqual   100% 7 0 0   100% 0 0   100%
tests/utils.py (no function)   100% 26 0 0   100% 0 0   100%
Total     91% 6402 608 12   73% 1098 85   88%

No items found using the specified filter.