LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0-2-g04d2804
src
math
KernelFunctions.cc
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
32
#include <iostream>
33
34
#include "boost/format.hpp"
35
36
#include "
lsst/afw/math/KernelFunctions.h
"
37
45
void
46
lsst::afw::math::printKernel
(
47
lsst::afw::math::Kernel
const
&kernel,
48
bool
doNormalize,
49
double
xPos,
50
double
yPos,
51
std::string pixelFmt
52
) {
53
typedef
lsst::afw::math::Kernel::Pixel
Pixel;
54
55
lsst::afw::image::Image<Pixel>
kImage(kernel.
getDimensions
());
56
double
kSum = kernel.
computeImage
(kImage, doNormalize, xPos, yPos);
57
58
for
(
int
y
= kImage.getHeight() - 1;
y
>= 0; --
y
) {
59
for
(
lsst::afw::image::Image<Pixel>::const_x_iterator
ptr = kImage.row_begin(
y
);
60
ptr != kImage.row_end(
y
); ++ptr) {
61
std::cout <<
boost::format
(pixelFmt) % *ptr <<
" "
;
62
}
63
std::cout << std::endl;
64
}
65
66
if
(doNormalize && std::abs(static_cast<double>(kSum) - 1.0) > 1.0e-5) {
67
std::cout <<
boost::format
(
"Warning! Sum of all pixels = %9.5f != 1.0\n"
) % kSum;
68
}
69
std::cout << std::endl;
70
}
y
int y
Definition:
GaussianCentroid.cc:36
lsst::pex.config.history.format
def format
Definition:
history.py:127
lsst::afw::math::Kernel::getDimensions
geom::Extent2I const getDimensions() const
Return the Kernel's dimensions (width, height)
Definition:
Kernel.h:226
lsst::afw::image::ImageBase::const_x_iterator
_const_view_t::x_iterator const_x_iterator
A const iterator for traversing the pixels in a row.
Definition:
Image.h:158
lsst::afw::math::printKernel
void printKernel(lsst::afw::math::Kernel const &kernel, bool doNormalize, double x=0, double y=0, std::string pixelFmt="%7.3f")
Print the pixel values of a Kernel to std::cout.
Definition:
KernelFunctions.cc:46
lsst::afw::math::Kernel::Pixel
double Pixel
Definition:
Kernel.h:140
lsst::afw::math::Kernel::computeImage
double computeImage(lsst::afw::image::Image< Pixel > &image, bool doNormalize, double x=0.0, double y=0.0) const
Compute an image (pixellized representation of the kernel) in place.
Definition:
Kernel.cc:94
lsst::afw::math::Kernel
Kernels are used for convolution with MaskedImages and (eventually) Images.
Definition:
Kernel.h:134
lsst::afw::image::Image< Pixel >
KernelFunctions.h
Utility functions for kernels.
Generated on Thu Sep 24 2015 02:29:18 for LSSTApplications by
1.8.5