|
| | MutImageView ()=default |
| | Default constructor creates an empty image. More...
|
| |
| | MutImageView (ImageLayout layout, TPixel *ptr) noexcept |
| | Creates view from layout and pointer to first pixel. More...
|
| |
| | MutImageView (sophus::ImageSize image_size, TPixel *ptr) noexcept |
| | Creates view from image size and pointer to first pixel. The image is assumed to be contiguous and the pitch is set accordingly. More...
|
| |
| auto | view () const -> ImageView< TPixel > |
| | Returns ImageView(*this). More...
|
| |
| void | copyDataFrom (ImageView< TPixel > view) const |
| | Copies data from view into this. More...
|
| |
| auto | rowPtrMut (int v) const -> TPixel * |
| | Returns v-th row pointer of mutable pixel. More...
|
| |
| auto | mut (int u, int v) const -> TPixel & |
| | Mutable accessor to pixel u, v. More...
|
| |
| auto | mut (Eigen::Vector2i uv) const -> TPixel & |
| |
| template<class TUnaryOperation > |
| void | mutate (TUnaryOperation const &unary_op) const |
| | Mutates each pixel of this with given unary operation. More...
|
| |
| template<class TUVOperation > |
| void | generate (TUVOperation const &uv_op) const |
| | For each pixel in this with coordinates (u,v), populates with the user provided function, evaluated as uv_op(u,v), where u and v are integers such that u in [0, width), v in [0, height) More...
|
| |
| template<class TOtherPixel , class TUnaryOperation > |
| void | transformFrom (ImageView< TOtherPixel > view, TUnaryOperation const &unary_op) const |
| | Transforms view using unary operation and assigns result to this. More...
|
| |
| template<class TLhsPixel , class TRhsPixel , class TBinaryOperation > |
| void | transformFrom (ImageView< TLhsPixel > lhs, ImageView< TRhsPixel > rhs, TBinaryOperation const &binary_op) const |
| | Transforms two views using binary operation and assigns result to this. More...
|
| |
| void | fill (TPixel const &val) const |
| | Populates every pixel of this with val. More...
|
| |
| auto | ptrMut () const -> TPixel * |
| | Returns pointer of mutable data to first pixel. More...
|
| |
| auto | mutSubview (Eigen::Vector2i uv, sophus::ImageSize size) const -> MutImageView |
| | Returns mutable subview. More...
|
| |
| | ImageView ()=default |
| | Default constructor creates an empty image. More...
|
| |
| | ImageView (ImageLayout layout, TPixel const *ptr) noexcept |
| | Creates view from layout and pointer to first pixel. More...
|
| |
| | ImageView (sophus::ImageSize image_size, TPixel const *ptr) noexcept |
| | Creates view from image size and pointer to first pixel. The image is assumed to be contiguous and the pitch is set accordingly. More...
|
| |
| auto | isEmpty () const -> bool |
| | Returns true if view is empty. More...
|
| |
| auto | isContiguous () const -> bool |
| | Returns true if view is contiguous. More...
|
| |
| auto | imageSize () const -> sophus::ImageSize const & |
| | Returns ImageSize. It is {0,0} if view is empty. More...
|
| |
| auto | layout () const -> ImageLayout const & |
| | Returns ImageLayout. It is {{0,0}, 0} is view is empty. More...
|
| |
| auto | area () const -> size_t |
| |
| auto | width () const -> int |
| |
| auto | height () const -> int |
| |
| auto | pitchBytes () const -> size_t |
| |
| auto | sizeBytes () const -> size_t |
| |
| auto | colInBounds (int u) const -> bool |
| | Returns true if u is in [0, width). More...
|
| |
| auto | rowInBounds (int v) const -> bool |
| | Returns true if v is in [0, height). More...
|
| |
| auto | rowPtr (int v) const -> TPixel const * |
| | Returns v-th row pointer. More...
|
| |
| auto | operator() (int u, int v) const -> TPixel const & |
| | Returns pixel u, v. More...
|
| |
| auto | operator() (Eigen::Vector2i uv) const -> TPixel const & |
| |
| auto | ptr () const -> TPixel const * |
| | Returns pointer to first pixel. More...
|
| |
| auto | subview (Eigen::Vector2i uv, sophus::ImageSize size) const -> ImageView |
| | Returns subview. More...
|
| |
| template<class TFunc > |
| void | visit (TFunc const &user_function) const |
| | Performs reduction / fold on image view. More...
|
| |
| template<class TReduceOp , class TVal > |
| auto | reduce (TReduceOp const &reduce_op, TVal val=TVal{}) const -> TVal |
| | Performs reduction / fold on image view. More...
|
| |
| template<class TShortCircuitReduceOp , class TVal > |
| auto | shortCircuitReduce (TShortCircuitReduceOp const &short_circuit_reduce_op, TVal val=TVal{}) const -> TVal |
| | Performs reduction / fold on image view with short circuit condition. More...
|
| |
| auto | operator== (ImageView const &rhs) const -> bool=delete |
| | The equality operator is deleted to avoid confusion. Since ImageView is a "shallow-copy" type, a consistently defined equality would check for equality of its (shallow) state: More...
|
| |
| auto | operator!= (ImageView const &rhs) const -> bool=delete |
| | The in-equality operator is deleted to avoid confusion. More...
|
| |
| auto | hasSameData (ImageView const &rhs) const -> bool |
| | Returns true both views have the same size and contain the same data. More...
|
| |
template<class TPixel>
class sophus::MutImageView< TPixel >
View of a mutable image, which does not own the data.
The API of MutImageView allows for read and write access.
MutImageView is nullable. In that case this->isEmpty() is true.
Details on equality comparison, the state of the object, and const-correctness.
MutImageView is a "shallow-compare type" similar to std::span<Pixel> and std::unique_ptr<Pixel>. As ImageView, its state consists of the image layout as well as the pointer address, and comparing those entities establishes equality comparisons. Furthermore, giving mutable access to pixels is considered a const operation, as in
TPixel& mut(int u, int v) const
since this merely allows for changing a pixel value, but not its state (data location and layout).