lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
doc
iterators.cc
Go to the documentation of this file.
1
/*
2
* LSST Data Management System
3
* Copyright 2008, 2009, 2010 LSST Corporation.
4
*
5
* This product includes software developed by the
6
* LSST Project (http://www.lsst.org/).
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the LSST License Statement and
19
* the GNU General Public License along with this program. If not,
20
* see <http://www.lsstcorp.org/LegalNotices/>.
21
*/
22
23
/*
24
* A set of pseudo-code to permit me to document the Image iterator API.
25
*
26
* This is needed as the actual implementation is opaque, based on the boost::gil
27
* libraries.
28
*/
29
namespace
lsst
{
namespace
afw
{
namespace
image
{
31
class
imageIterator
{
32
public
:
34
Image::Pixel
&
operator*
();
36
void
operator++
();
38
void
operator++
(
int
);
40
void
operator+=
(
std::ptrdiff_t
delta
41
);
43
void
operator-=
(
std::ptrdiff_t
delta
44
);
46
bool
operator==
(
imageIterator
const
& rhs
47
);
49
bool
operator!=
(
imageIterator
const
& rhs
50
);
52
bool
operator<
(
imageIterator
const
& rhs);
53
};
54
56
class
imageLocator
{
57
public
:
59
typedef
void
cached_location_t
;
61
Image::Pixel
&
operator*
();
66
Image::Pixel
&
operator()
(
int
x
,
int
y
);
68
xy_x_iterator
x
();
70
xy_y_iterator
y
();
71
73
struct
xy_x_iterator
{
75
Image::Pixel
&
operator*
();
77
void
operator++
();
79
void
operator++
(
int
);
80
};
81
83
struct
xy_y_iterator
{
85
Image::Pixel
&
operator*
();
87
void
operator++
();
89
void
operator++
(
int
);
90
};
91
93
cached_location_t
cache_location
(
int
x
,
int
y
);
95
Image::Pixel
&
operator[]
(
cached_location_t
const
&);
96
};
97
98
}}}
lsst::afw::image::ImageBase::Pixel
PixelT Pixel
A pixel in this ImageBase.
Definition
ImageBase.h:115
lsst::afw::image::imageIterator
An ImageBase iterator.
Definition
iterators.cc:31
lsst::afw::image::imageIterator::operator<
bool operator<(imageIterator const &rhs)
Return true if the lhs is less than the rhs.
lsst::afw::image::imageIterator::operator-=
void operator-=(std::ptrdiff_t delta)
Decrement the iterator by delta.
lsst::afw::image::imageIterator::operator++
void operator++()
Advance an iterator (prefix).
lsst::afw::image::imageIterator::operator++
void operator++(int)
Advance an iterator (postfix).
lsst::afw::image::imageIterator::operator==
bool operator==(imageIterator const &rhs)
Return true if the lhs equals the rhs.
lsst::afw::image::imageIterator::operator*
Image::Pixel & operator*()
Dereference an iterator, returning a reference to a Pixel.
lsst::afw::image::imageIterator::operator+=
void operator+=(std::ptrdiff_t delta)
Increment the iterator by delta.
lsst::afw::image::imageIterator::operator!=
bool operator!=(imageIterator const &rhs)
Return true if the lhs doesn't equal the rhs.
lsst::afw::image::imageLocator
An ImageBase locator.
Definition
iterators.cc:56
lsst::afw::image::imageLocator::operator[]
Image::Pixel & operator[](cached_location_t const &)
Dereference a cached_location_t, returning a reference to a Pixel.
lsst::afw::image::imageLocator::operator()
Image::Pixel & operator()(int x, int y)
Dereference a pixel offset by (x, y) from the current locator, returning a reference to a Pixel.
lsst::afw::image::imageLocator::cache_location
cached_location_t cache_location(int x, int y)
Store a relative location for faster repeated access.
lsst::afw::image::imageLocator::operator*
Image::Pixel & operator*()
Dereference a locator, returning a reference to a Pixel.
lsst::afw::image::imageLocator::x
xy_x_iterator x()
Return an x_iterator that can move an xy_locator.
lsst::afw::image::imageLocator::cached_location_t
void cached_location_t
type to store relative location for efficient repeated access (not really void)
Definition
iterators.cc:59
lsst::afw::image::imageLocator::y
xy_y_iterator y()
Return an y_iterator that can move an xy_locator.
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std::ptrdiff_t
lsst::afw::image::imageLocator::xy_x_iterator
An x_iterator created from an xy_locator.
Definition
iterators.cc:73
lsst::afw::image::imageLocator::xy_x_iterator::operator++
void operator++(int)
Advance the iterator (postfix).
lsst::afw::image::imageLocator::xy_x_iterator::operator++
void operator++()
Advance the iterator (prefix).
lsst::afw::image::imageLocator::xy_x_iterator::operator*
Image::Pixel & operator*()
Dereference an iterator, returning a reference to a Pixel.
lsst::afw::image::imageLocator::xy_y_iterator
An y_iterator created from an xy_locator.
Definition
iterators.cc:83
lsst::afw::image::imageLocator::xy_y_iterator::operator++
void operator++()
Advance the iterator (prefix).
lsst::afw::image::imageLocator::xy_y_iterator::operator++
void operator++(int)
Advance the iterator (postfix).
lsst::afw::image::imageLocator::xy_y_iterator::operator*
Image::Pixel & operator*()
Dereference an iterator, returning a reference to a Pixel.
Generated on
for lsst.afw by
1.17.0