isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
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
16 public:
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
41 public:
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
69 public:
70  virtual ~SLC();
71  inline SLC(uri_type filename, shape_type shape);
72 
73  // implementation details: data
74 private:
75  grid_type _grid;
76 };
Definition: SLC.h:14
Definition: Raster.h:11

Generated for ISCE3.0 by doxygen 1.8.5.