isce3 0.25.0
Loading...
Searching...
No Matches
SLC.h
1// -*- C++ -*-
2// -*- coding: utf-8 -*-
3//
4// michael a.g. aïvázis <michael.aivazis@para-sim.com>
5// parasim
6// (c) 1998-2019 all rights reserved
7
8#pragma once
9
10// externals
11#include <complex>
12
13// encapsulation of SLC raster images
15 // types
16public:
17 // for sizing things
18 using size_type = size_t; // from ampcor::dom
19 // filenames
20 using uri_type = uri_t;
21 // my cell type
22 using cell_type = std::complex<float>;
23 // my pixel
24 using pixel_type = cell_type;
25 // my grid
26 using grid_type = constmmap_t<2, pixel_type>;
27 // my layout type
28 using layout_type = grid_type::layout_type;
29 // my slice type
30 using slice_type = grid_type::slice_type;
31 // my index type
32 using index_type = grid_type::index_type;
33 // my shape type
34 using shape_type = grid_type::shape_type;
35 // my view type
36 using view_type = grid_type::view_type;
37 // my constview type
38 using constview_type = grid_type::constview_type;
39
40 // interface
41public:
42 // access to my layout
43 inline auto layout() const;
44
45 // the number of pixels
46 inline auto pixels() const;
47 // my memory footprint
48 inline auto size() const;
49 // the size of my pixel
50 inline static constexpr auto pixelSize();
51
52 // the location of the data buffer
53 inline auto data() const;
54
55 // data access
56 inline const auto & operator[](size_type offset) const;
57 inline const auto & operator[](const index_type & index) const;
58
59 // support for iterating over my data
60 inline auto view();
61 inline auto view(const slice_type & slice);
62
63 inline auto view() const;
64 inline auto view(const slice_type & slice) const;
65
66 inline auto constview(const slice_type & slice) const;
67
68 // meta-methods
69public:
70 virtual ~SLC();
71 inline SLC(uri_type filename, shape_type shape);
72
73 // implementation details: data
74private:
75 grid_type _grid;
76};
Definition Raster.h:11
Definition SLC.h:14

Generated for ISCE3.0 by doxygen 1.13.2.