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
include
lsst
afw
math
detail
ConvolveGPU.h
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
#ifndef LSST_AFW_MATH_DETAIL_GPU_CONVOLVE_H
26
#define LSST_AFW_MATH_DETAIL_GPU_CONVOLVE_H
27
37
#include <sstream>
38
39
#include "boost/shared_ptr.hpp"
40
41
#include "
lsst/pex/exceptions.h
"
42
#include "
lsst/afw/geom.h
"
43
#include "
lsst/afw/image/Image.h
"
44
#include "
lsst/afw/image/MaskedImage.h
"
45
#include "
lsst/afw/math/Kernel.h
"
46
#include "
lsst/afw/math/ConvolveImage.h
"
47
48
#define IS_INSTANCE(A, B) (dynamic_cast<B const*>(&(A)) != NULL)
49
50
51
namespace
lsst {
52
namespace
afw {
53
namespace
math {
54
namespace
detail {
55
56
namespace
ConvolveGpuStatus {
57
enum
ReturnCode
{
OK
,
NO_GPU
,
KERNEL_TOO_SMALL
,
KERNEL_TOO_BIG
,
58
UNSUPPORTED_KERNEL
,
KERNEL_COUNT_ERROR
,
INVALID_KERNEL_DATA
,
59
SFN_TYPE_ERROR
,
SFN_COUNT_ERROR
60
};
61
}
62
63
template
<
typename
OutImageT,
typename
InImageT>
64
ConvolveGpuStatus::ReturnCode
basicConvolveGPU
(
65
OutImageT& convolvedImage,
66
InImageT
const
& inImage,
67
lsst::afw::math::Kernel
const
& kernel,
68
lsst::afw::math::ConvolutionControl
const
& convolutionControl
69
);
70
71
template
<
typename
OutPixelT,
typename
InPixelT>
72
ConvolveGpuStatus::ReturnCode
convolveLinearCombinationGPU
(
73
lsst::afw::image::MaskedImage<OutPixelT, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel>
& convolvedImage,
74
lsst::afw::image::MaskedImage<InPixelT , lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel>
const
& inImage,
75
lsst::afw::math::LinearCombinationKernel
const
& kernel,
76
lsst::afw::math::ConvolutionControl
const
& convolutionControl
77
);
78
79
template
<
typename
OutPixelT,
typename
InPixelT>
80
ConvolveGpuStatus::ReturnCode
convolveLinearCombinationGPU
(
81
lsst::afw::image::Image<OutPixelT>
& convolvedImage,
82
lsst::afw::image::Image<InPixelT >
const
& inImage,
83
lsst::afw::math::LinearCombinationKernel
const
& kernel,
84
lsst::afw::math::ConvolutionControl
const
& convolutionControl
85
);
86
87
template
<
typename
OutPixelT,
typename
InPixelT>
88
ConvolveGpuStatus::ReturnCode
convolveSpatiallyInvariantGPU
(
89
lsst::afw::image::MaskedImage<OutPixelT, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel>
& convolvedImage,
90
lsst::afw::image::MaskedImage<InPixelT , lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel>
const
& inImage,
91
lsst::afw::math::Kernel
const
& kernel,
92
lsst::afw::math::ConvolutionControl
const
& convolutionControl
93
);
94
95
template
<
typename
OutPixelT,
typename
InPixelT>
96
ConvolveGpuStatus::ReturnCode
convolveSpatiallyInvariantGPU
(
97
lsst::afw::image::Image<OutPixelT>
& convolvedImage,
98
lsst::afw::image::Image<InPixelT >
const
& inImage,
99
lsst::afw::math::Kernel
const
& kernel,
100
lsst::afw::math::ConvolutionControl
const
& convolutionControl
101
);
102
103
}
104
}
105
}
106
}
107
108
109
110
#endif // !defined(LSST_AFW_MATH_DETAIL_GPU_CONVOLVE_H)
111
geom.h
An include file to include the header files for lsst::afw::geom.
Kernel.h
Declare the Kernel class and subclasses.
lsst::afw::math::detail::convolveLinearCombinationGPU
ConvolveGpuStatus::ReturnCode convolveLinearCombinationGPU(lsst::afw::image::MaskedImage< OutPixelT, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel > &convolvedImage, lsst::afw::image::MaskedImage< InPixelT, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel > const &inImage, lsst::afw::math::LinearCombinationKernel const &kernel, lsst::afw::math::ConvolutionControl const &convolutionControl)
exceptions.h
Include files required for standard LSST Exception handling.
lsst::afw::math::ConvolutionControl
Parameters to control convolution.
Definition:
ConvolveImage.h:58
lsst::afw::math::detail::ConvolveGpuStatus::NO_GPU
Definition:
ConvolveGPU.h:57
lsst::afw::math::detail::ConvolveGpuStatus::INVALID_KERNEL_DATA
Definition:
ConvolveGPU.h:58
lsst::afw::math::detail::convolveSpatiallyInvariantGPU
ConvolveGpuStatus::ReturnCode convolveSpatiallyInvariantGPU(lsst::afw::image::MaskedImage< OutPixelT, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel > &convolvedImage, lsst::afw::image::MaskedImage< InPixelT, lsst::afw::image::MaskPixel, lsst::afw::image::VariancePixel > const &inImage, lsst::afw::math::Kernel const &kernel, lsst::afw::math::ConvolutionControl const &convolutionControl)
lsst::afw::math::detail::ConvolveGpuStatus::SFN_TYPE_ERROR
Definition:
ConvolveGPU.h:59
lsst::afw::math::detail::ConvolveGpuStatus::ReturnCode
ReturnCode
Definition:
ConvolveGPU.h:57
lsst::afw::math::detail::ConvolveGpuStatus::KERNEL_COUNT_ERROR
Definition:
ConvolveGPU.h:58
lsst::afw::math::LinearCombinationKernel
A kernel that is a linear combination of fixed basis kernels.
Definition:
Kernel.h:814
lsst::afw::image::MaskedImage
A class to manipulate images, masks, and variance as a single object.
Definition:
MaskedImage.h:77
Image.h
Support for 2-D images.
lsst::afw::math::detail::ConvolveGpuStatus::UNSUPPORTED_KERNEL
Definition:
ConvolveGPU.h:58
lsst::afw::math::detail::ConvolveGpuStatus::KERNEL_TOO_BIG
Definition:
ConvolveGPU.h:57
lsst::afw::math::detail::ConvolveGpuStatus::SFN_COUNT_ERROR
Definition:
ConvolveGPU.h:59
ConvolveImage.h
Convolve and convolveAtAPoint functions for Image and Kernel.
lsst::afw::math::detail::ConvolveGpuStatus::OK
Definition:
ConvolveGPU.h:57
lsst::afw::math::detail::ConvolveGpuStatus::KERNEL_TOO_SMALL
Definition:
ConvolveGPU.h:57
MaskedImage.h
Implementation of the Class MaskedImage.
lsst::afw::math::Kernel
Kernels are used for convolution with MaskedImages and (eventually) Images.
Definition:
Kernel.h:134
lsst::afw::image::Image
A class to represent a 2-dimensional array of pixels.
Definition:
Image.h:415
lsst::afw::math::detail::basicConvolveGPU
ConvolveGpuStatus::ReturnCode basicConvolveGPU(OutImageT &convolvedImage, InImageT const &inImage, lsst::afw::math::Kernel const &kernel, lsst::afw::math::ConvolutionControl const &convolutionControl)
Generated on Thu Sep 24 2015 02:29:15 for LSSTApplications by
1.8.5