LSSTApplications  16.0-11-g09ed895+2,16.0-11-g12e47bd,16.0-11-g9bb73b2+6,16.0-12-g5c924a4+6,16.0-14-g9a974b3+1,16.0-15-g1417920+1,16.0-15-gdd5ca33+1,16.0-16-gf0259e2,16.0-17-g31abd91+7,16.0-17-g7d7456e+7,16.0-17-ga3d2e9f+13,16.0-18-ga4d4bcb+1,16.0-18-gd06566c+1,16.0-2-g0febb12+21,16.0-2-g9d5294e+69,16.0-2-ga8830df+6,16.0-20-g21842373+7,16.0-24-g3eae5ec,16.0-28-gfc9ea6c+4,16.0-29-ge8801f9,16.0-3-ge00e371+34,16.0-4-g18f3627+13,16.0-4-g5f3a788+20,16.0-4-ga3eb747+10,16.0-4-gabf74b7+29,16.0-4-gb13d127+6,16.0-49-g42e581f7+6,16.0-5-g27fb78a+7,16.0-5-g6a53317+34,16.0-5-gb3f8a4b+87,16.0-6-g9321be7+4,16.0-6-gcbc7b31+42,16.0-6-gf49912c+29,16.0-7-gd2eeba5+51,16.0-71-ge89f8615e,16.0-8-g21fd5fe+29,16.0-8-g3a9f023+20,16.0-8-g4734f7a+1,16.0-8-g5858431+3,16.0-9-gf5c1f43+8,master-gd73dc1d098+1,w.2019.01
LSSTDataManagementBasePackage
Functions
kernel.cc File Reference
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include "lsst/afw/math/Kernel.h"
#include "lsst/afw/table/io/python.h"

Go to the source code of this file.

Functions

 PYBIND11_MODULE (kernel, mod)
 

Function Documentation

◆ PYBIND11_MODULE()

PYBIND11_MODULE ( kernel  ,
mod   
)

Definition at line 36 of file kernel.cc.

36  {
37  py::class_<Kernel, std::shared_ptr<Kernel>> clsKernel(mod, "Kernel");
38 
39  lsst::afw::table::io::python::addPersistableMethods<Kernel>(clsKernel);
40 
41  clsKernel.def("clone", &Kernel::clone);
42  clsKernel.def("resized", &Kernel::resized, "width"_a, "height"_a);
43  clsKernel.def("computeImage", &Kernel::computeImage, "image"_a, "doNormalize"_a, "x"_a = 0.0,
44  "y"_a = 0.0);
45  clsKernel.def("getDimensions", &Kernel::getDimensions);
46  clsKernel.def("setDimensions", &Kernel::setDimensions);
47  clsKernel.def("setWidth", &Kernel::setWidth);
48  clsKernel.def("setHeight", &Kernel::setHeight);
49  clsKernel.def("getWidth", &Kernel::getWidth);
50  clsKernel.def("getHeight", &Kernel::getHeight);
51  clsKernel.def("getCtr", &Kernel::getCtr);
52  clsKernel.def("getCtrX", &Kernel::getCtrX);
53  clsKernel.def("getCtrY", &Kernel::getCtrY);
54  clsKernel.def("getBBox", &Kernel::getBBox);
55  clsKernel.def("getNKernelParameters", &Kernel::getNKernelParameters);
56  clsKernel.def("getNSpatialParameters", &Kernel::getNSpatialParameters);
57  clsKernel.def("getSpatialFunction", &Kernel::getSpatialFunction);
58  clsKernel.def("getSpatialFunctionList", &Kernel::getSpatialFunctionList);
59  clsKernel.def("getKernelParameter", &Kernel::getKernelParameter);
60  clsKernel.def("getKernelParameters", &Kernel::getKernelParameters);
61  clsKernel.def("growBBox", &Kernel::growBBox);
62  clsKernel.def("shrinkBBox", &Kernel::shrinkBBox);
63  clsKernel.def("setCtr", &Kernel::setCtr);
64  clsKernel.def("setCtrX", &Kernel::setCtrX);
65  clsKernel.def("setCtrY", &Kernel::setCtrY);
66  clsKernel.def("getSpatialParameters", &Kernel::getSpatialParameters);
67  clsKernel.def("isSpatiallyVarying", &Kernel::isSpatiallyVarying);
68  clsKernel.def("setKernelParameters",
69  (void (Kernel::*)(std::vector<double> const &)) & Kernel::setKernelParameters);
70  clsKernel.def("setKernelParameters",
71  (void (Kernel::*)(std::pair<double, double> const &)) & Kernel::setKernelParameters);
72  clsKernel.def("setSpatialParameters", &Kernel::setSpatialParameters);
73  clsKernel.def("computeKernelParametersFromSpatialModel",
74  &Kernel::computeKernelParametersFromSpatialModel);
75  clsKernel.def("toString", &Kernel::toString, "prefix"_a = "");
76  clsKernel.def("computeCache", &Kernel::computeCache);
77  clsKernel.def("getCacheSize", &Kernel::getCacheSize);
78 
79  py::class_<FixedKernel, std::shared_ptr<FixedKernel>, Kernel> clsFixedKernel(mod, "FixedKernel");
80 
81  clsFixedKernel.def(py::init<>());
82  clsFixedKernel.def(py::init<lsst::afw::image::Image<Kernel::Pixel> const &>(), "image"_a);
83  clsFixedKernel.def(py::init<lsst::afw::math::Kernel const &, lsst::geom::Point2D const &>(),
84  "kernel"_a, "pos"_a);
85  clsFixedKernel.def("clone", &FixedKernel::clone);
86  clsFixedKernel.def("resized", &FixedKernel::resized, "width"_a, "height"_a);
87  clsFixedKernel.def("toString", &FixedKernel::toString, "prefix"_a = "");
88  clsFixedKernel.def("getSum", &FixedKernel::getSum);
89  clsFixedKernel.def("isPersistable", &FixedKernel::isPersistable);
90 
91  py::class_<AnalyticKernel, std::shared_ptr<AnalyticKernel>, Kernel> clsAnalyticKernel(mod,
92  "AnalyticKernel");
93  clsAnalyticKernel.def(py::init<>());
94  // Workaround for NullSpatialFunction and py::arg not playing well with Citizen
95  clsAnalyticKernel.def(py::init<int, int, AnalyticKernel::KernelFunction const &>(), "width"_a, "height"_a,
96  "kernelFunction"_a);
97  clsAnalyticKernel.def(
98  py::init<int, int, AnalyticKernel::KernelFunction const &, Kernel::SpatialFunction const &>(),
99  "width"_a, "height"_a, "kernelFunction"_a, "spatialFunction"_a);
100  clsAnalyticKernel.def(py::init<int, int, AnalyticKernel::KernelFunction const &,
102  "width"_a, "height"_a, "kernelFunction"_a, "spatialFunctionList"_a);
103  clsAnalyticKernel.def("clone", &AnalyticKernel::clone);
104  clsAnalyticKernel.def("resized", &AnalyticKernel::resized, "width"_a, "height"_a);
105  clsAnalyticKernel.def("computeImage", &AnalyticKernel::computeImage, "image"_a, "doNormalize"_a,
106  "x"_a = 0.0, "y"_a = 0.0);
107  clsAnalyticKernel.def("getKernelParameters", &AnalyticKernel::getKernelParameters);
108  clsAnalyticKernel.def("getKernelFunction", &AnalyticKernel::getKernelFunction);
109  clsAnalyticKernel.def("toString", &AnalyticKernel::toString, "prefix"_a = "");
110  clsAnalyticKernel.def("isPersistable", &AnalyticKernel::isPersistable);
111 
112  py::class_<DeltaFunctionKernel, std::shared_ptr<DeltaFunctionKernel>, Kernel> clsDeltaFunctionKernel(
113  mod, "DeltaFunctionKernel");
114 
115  clsDeltaFunctionKernel.def(py::init<int, int, lsst::geom::Point2I const &>(), "width"_a, "height"_a,
116  "point"_a);
117  clsDeltaFunctionKernel.def("clone", &DeltaFunctionKernel::clone);
118  clsDeltaFunctionKernel.def("resized", &DeltaFunctionKernel::resized, "width"_a, "height"_a);
119  clsDeltaFunctionKernel.def("getPixel", &DeltaFunctionKernel::getPixel);
120  clsDeltaFunctionKernel.def("toString", &DeltaFunctionKernel::toString, "prefix"_a = "");
121  clsDeltaFunctionKernel.def("isPersistable", &DeltaFunctionKernel::isPersistable);
122 
123  py::class_<LinearCombinationKernel, std::shared_ptr<LinearCombinationKernel>, Kernel>
124  clsLinearCombinationKernel(mod, "LinearCombinationKernel");
125 
126  clsLinearCombinationKernel.def(py::init<>());
127  clsLinearCombinationKernel.def(py::init<KernelList const &, std::vector<double> const &>(),
128  "kernelList"_a, "kernelParameters"_a);
129  clsLinearCombinationKernel.def(py::init<KernelList const &, Kernel::SpatialFunction const &>(),
130  "kernelList"_a, "spatialFunction"_a);
131  clsLinearCombinationKernel.def(
132  py::init<KernelList const &, std::vector<Kernel::SpatialFunctionPtr> const &>(), "kernelList"_a,
133  "spatialFunctionList"_a);
134  clsLinearCombinationKernel.def("clone", &LinearCombinationKernel::clone);
135  clsLinearCombinationKernel.def("resized", &LinearCombinationKernel::resized, "width"_a, "height"_a);
136  clsLinearCombinationKernel.def("getKernelParameters", &LinearCombinationKernel::getKernelParameters);
137  clsLinearCombinationKernel.def("getKernelList", &LinearCombinationKernel::getKernelList);
138  clsLinearCombinationKernel.def("getKernelSumList", &LinearCombinationKernel::getKernelSumList);
139  clsLinearCombinationKernel.def("getNBasisKernels", &LinearCombinationKernel::getNBasisKernels);
140  clsLinearCombinationKernel.def("checkKernelList", &LinearCombinationKernel::checkKernelList);
141  clsLinearCombinationKernel.def("isDeltaFunctionBasis", &LinearCombinationKernel::isDeltaFunctionBasis);
142  clsLinearCombinationKernel.def("refactor", &LinearCombinationKernel::refactor);
143  clsLinearCombinationKernel.def("toString", &LinearCombinationKernel::toString, "prefix"_a = "");
144  clsLinearCombinationKernel.def("isPersistable", &LinearCombinationKernel::isPersistable);
145 
146  py::class_<SeparableKernel, std::shared_ptr<SeparableKernel>, Kernel> clsSeparableKernel(
147  mod, "SeparableKernel");
148 
149  clsSeparableKernel.def(py::init<>());
150  // Workaround for NullSpatialFunction and py::arg not playing well with Citizen
151  clsSeparableKernel.def(py::init<int, int, SeparableKernel::KernelFunction const &,
153  "width"_a, "height"_a, "kernelColFunction"_a, "kernelRowFunction"_a);
154  clsSeparableKernel.def(
155  py::init<int, int, SeparableKernel::KernelFunction const &,
157  "width"_a, "height"_a, "kernelColFunction"_a, "kernelRowFunction"_a, "spatialFunction"_a);
158  clsSeparableKernel.def(py::init<int, int, SeparableKernel::KernelFunction const &,
161  "width"_a, "height"_a, "kernelColFunction"_a, "kernelRowFunction"_a,
162  "spatialFunctionList"_a);
163  clsSeparableKernel.def("clone", &SeparableKernel::clone);
164  clsSeparableKernel.def("resized", &SeparableKernel::resized, "width"_a, "height"_a);
165  clsSeparableKernel.def("computeVectors", &SeparableKernel::computeVectors);
166  clsSeparableKernel.def("getKernelParameter", &SeparableKernel::getKernelParameter);
167  clsSeparableKernel.def("getKernelParameters", &SeparableKernel::getKernelParameters);
168  clsSeparableKernel.def("getKernelColFunction", &SeparableKernel::getKernelColFunction);
169  clsSeparableKernel.def("getKernelRowFunction", &SeparableKernel::getKernelRowFunction);
170  clsSeparableKernel.def("toString", &SeparableKernel::toString, "prefix"_a = "");
171  clsSeparableKernel.def("computeCache", &SeparableKernel::computeCache);
172  clsSeparableKernel.def("getCacheSize", &SeparableKernel::getCacheSize);
173 }
def init()
Definition: tests.py:75
A Function taking two arguments.
Definition: Function.h:261
void setSpatialParameters(afw::math::Kernel *kernel, std::vector< double > const &coeffs)
Fit a Kernel&#39;s spatial variability from a set of stars.
A Function taking one argument.
Definition: Function.h:204
Kernels are used for convolution with MaskedImages and (eventually) Images.
Definition: Kernel.h:112
A class to represent a 2-dimensional array of pixels.
Definition: Image.h:59