4#ifndef _31e10e07_6c23_4af5_aac6_117908c89aaf
5#define _31e10e07_6c23_4af5_aac6_117908c89aaf
82#include "MaskBase.txx"
Base class for masks, boolean and non-boolean.
Definition MaskBase.h:17
static bool lessKy(Point const &p, Point const &q)
Compare points according to their ky coordinate.
static bool lessX(Point const &p, Point const &q)
Compare points according to their x coordinate.
Shape const & shape() const
Return the shape of the mask.
std::size_t _index(Point const &p) const
Return the linear index corresponding to a point.
std::size_t size() const
Return the total number of points in the mask.
std::vector< Point > Points
Container of Point.
Definition MaskBase.h:25
Shape _shape
Shape of the mask.
Definition MaskBase.h:71
static bool lessY(Point const &p, Point const &q)
Compare points according to their y coordinate.
static bool lessKz(Point const &p, Point const &q)
Compare points according to their kz coordinate.
T const & operator[](Point const &p) const
Read-only access to a mask item.
T & operator[](Point const &p)
Read/write access to a mask item.
MaskBase(Shape const &shape={}, T value=T())
Create a constant mask.
std::vector< T > _mask
Linear container of mask points.
Definition MaskBase.h:74
void fill(T value)
Fill all points of mask with value.
Vector2l Point
2D point, as (column, row), (x, y) or (ky,kz)
Definition MaskBase.h:20
Vector2l Shape
Shape of the mask, as (column, row), (x, y) or (ky,kz).
Definition MaskBase.h:22
Top-level namespace of the msl library.
Definition acceleration.h:17
Vector< 2, long > Vector2l
2D vector of longs
Definition Vector.h:130