lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
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
25
/*
26
* Definitions of members of lsst::afw::math
27
*/
28
#include <iostream>
29
30
#include "boost/format.hpp"
31
32
#include "
lsst/afw/math/KernelFunctions.h
"
33
34
namespace
lsst
{
35
namespace
afw
{
36
namespace
math
{
37
38
void
printKernel
(
Kernel
const
&kernel,
bool
doNormalize,
double
xPos,
double
yPos,
std::string
pixelFmt) {
39
using
Pixel =
Kernel::Pixel
;
40
41
image::Image<Pixel>
kImage(kernel.
getDimensions
());
42
double
kSum = kernel.
computeImage
(kImage, doNormalize, xPos, yPos);
43
44
for
(
int
y = kImage.
getHeight
() - 1; y >= 0; --y) {
45
for
(
image::Image<Pixel>::const_x_iterator
ptr = kImage.
row_begin
(y); ptr != kImage.
row_end
(y);
46
++ptr) {
47
std::cout
<< boost::format(pixelFmt) % *ptr <<
" "
;
48
}
49
std::cout
<<
std::endl
;
50
}
51
52
if
(doNormalize && std::abs(
static_cast<
double
>
(kSum) - 1.0) > 1.0e-5) {
53
std::cout
<< boost::format(
"Warning! Sum of all pixels = %9.5f != 1.0\n"
) % kSum;
54
}
55
std::cout
<<
std::endl
;
56
}
57
}
// namespace math
58
}
// namespace afw
59
}
// namespace lsst
KernelFunctions.h
std::cout
std::string
lsst::afw::image::ImageBase::const_x_iterator
typename _const_view_t::x_iterator const_x_iterator
A const iterator for traversing the pixels in a row.
Definition
ImageBase.h:141
lsst::afw::image::ImageBase::getHeight
int getHeight() const
Return the number of rows in the image.
Definition
ImageBase.h:296
lsst::afw::image::ImageBase::row_begin
x_iterator row_begin(int y) const
Return an x_iterator to the start of the y'th row.
Definition
ImageBase.h:401
lsst::afw::image::ImageBase::row_end
x_iterator row_end(int y) const
Return an x_iterator to the end of the y'th row.
Definition
ImageBase.h:404
lsst::afw::image::Image
A class to represent a 2-dimensional array of pixels.
Definition
Image.h:51
lsst::afw::math::Kernel
Kernels are used for convolution with MaskedImages and (eventually) Images.
Definition
Kernel.h:110
lsst::afw::math::Kernel::getDimensions
lsst::geom::Extent2I const getDimensions() const
Return the Kernel's dimensions (width, height).
Definition
Kernel.h:212
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:76
lsst::afw::math::Kernel::Pixel
double Pixel
Definition
Kernel.h:112
std::endl
T endl(T... args)
lsst::afw::math
Definition
statistics.dox:6
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:38
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
Generated on
for lsst.afw by
1.17.0