LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0.rc2+4
include
lsst
afw
math
detail
cudaConvWrapper.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
35
namespace
lsst {
36
namespace
afw {
37
namespace
math {
38
namespace
detail {
39
40
bool
IsSufficientSharedMemoryAvailable_ForImgBlock
(
int
filterW,
int
filterH,
int
pixSize);
41
bool
IsSufficientSharedMemoryAvailable_ForImgAndMaskBlock
(
int
filterW,
int
filterH,
int
pixSize);
42
bool
IsSufficientSharedMemoryAvailable_ForSfn
(
int
order,
int
kernelN);
43
44
45
enum
SpatialFunctionType_t
{
sftChebyshev
,
sftPolynomial
};
46
47
#ifdef GPU_BUILD
48
template
<
typename
OutPixelT,
typename
InPixelT>
49
void
GPU_ConvolutionImage_SpatiallyInvariantKernel(
50
lsst::afw::gpu::detail::GpuBuffer2D<InPixelT>
& inImage,
51
lsst::afw::gpu::detail::GpuBuffer2D<OutPixelT>
& outImage,
52
lsst::afw::gpu::detail::GpuBuffer2D<KerPixel>
& kernel
53
);
54
55
template
<
typename
OutPixelT,
typename
InPixelT>
56
void
GPU_ConvolutionMI_SpatiallyInvariantKernel(
57
lsst::afw::gpu::detail::GpuBuffer2D<InPixelT>
& inImageImg,
58
lsst::afw::gpu::detail::GpuBuffer2D<VarPixel>
& inImageVar,
59
lsst::afw::gpu::detail::GpuBuffer2D<MskPixel>
& inImageMsk,
60
lsst::afw::gpu::detail::GpuBuffer2D<OutPixelT>
& outImageImg,
61
lsst::afw::gpu::detail::GpuBuffer2D<VarPixel>
& outImageVar,
62
lsst::afw::gpu::detail::GpuBuffer2D<MskPixel>
& outImageMsk,
63
lsst::afw::gpu::detail::GpuBuffer2D<KerPixel>
& kernel
64
);
65
66
template
<
typename
OutPixelT,
typename
InPixelT>
67
void
GPU_ConvolutionImage_LinearCombinationKernel(
68
lsst::afw::gpu::detail::GpuBuffer2D<InPixelT>
& inImage,
69
std::vector<double> colPos,
70
std::vector<double> rowPos,
71
std::vector< lsst::afw::math::Kernel::SpatialFunctionPtr > sFn,
72
lsst::afw::gpu::detail::GpuBuffer2D<OutPixelT>
& outImage,
73
std::vector<
lsst::afw::gpu::detail::GpuBuffer2D<KerPixel>
>& basisKernels,
74
SpatialFunctionType_t
sfType,
75
bool
doNormalize
76
);
77
78
template
<
typename
OutPixelT,
typename
InPixelT>
79
void
GPU_ConvolutionMI_LinearCombinationKernel(
80
lsst::afw::gpu::detail::GpuBuffer2D<InPixelT>
& inImageImg,
81
lsst::afw::gpu::detail::GpuBuffer2D<VarPixel>
& inImageVar,
82
lsst::afw::gpu::detail::GpuBuffer2D<MskPixel>
& inImageMsk,
83
std::vector<double> colPos,
84
std::vector<double> rowPos,
85
std::vector< lsst::afw::math::Kernel::SpatialFunctionPtr > sFn,
86
lsst::afw::gpu::detail::GpuBuffer2D<OutPixelT>
& outImageImg,
87
lsst::afw::gpu::detail::GpuBuffer2D<VarPixel>
& outImageVar,
88
lsst::afw::gpu::detail::GpuBuffer2D<MskPixel>
& outImageMsk,
89
std::vector<
lsst::afw::gpu::detail::GpuBuffer2D<KerPixel>
>& basisKernels,
90
SpatialFunctionType_t
sfType,
91
bool
doNormalize
92
);
93
94
#endif //GPU_BUILD
95
96
}
97
}
98
}
99
}
//namespace lsst::afw::math::detail ends
100
101
102
lsst.afw.gpu::detail::GpuBuffer2D
Class for representing an image or 2D array in general)
Definition:
GpuBuffer2D.h:54
lsst.afw.math.detail::IsSufficientSharedMemoryAvailable_ForImgBlock
bool IsSufficientSharedMemoryAvailable_ForImgBlock(int filterW, int filterH, int pixSize)
Definition:
cudaConvWrapper.cc:51
lsst.afw.math.detail::SpatialFunctionType_t
SpatialFunctionType_t
Definition:
cudaConvWrapper.h:45
lsst.afw.math.detail::IsSufficientSharedMemoryAvailable_ForSfn
bool IsSufficientSharedMemoryAvailable_ForSfn(int order, int kernelN)
Definition:
cudaConvWrapper.cc:59
lsst.afw.math.detail::sftChebyshev
Definition:
cudaConvWrapper.h:45
lsst.afw.math.detail::sftPolynomial
Definition:
cudaConvWrapper.h:45
lsst.afw.math.detail::IsSufficientSharedMemoryAvailable_ForImgAndMaskBlock
bool IsSufficientSharedMemoryAvailable_ForImgAndMaskBlock(int filterW, int filterH, int pixSize)
Definition:
cudaConvWrapper.cc:55
Generated on Wed Sep 16 2015 13:35:25 for LSSTApplications by
1.8.5