16 using raster_type = raster_t;
18 using view_type =
typename raster_type::view_type;
19 using constview_type =
typename raster_type::constview_type;
21 using cell_type =
typename raster_type::cell_type;
23 using value_type =
typename cell_type::value_type;
25 using slice_type =
typename raster_type::slice_type;
27 using shape_type =
typename raster_type::shape_type;
29 using layout_type =
typename raster_type::layout_type;
31 using index_type =
typename raster_type::index_type;
33 using size_type =
typename raster_type::size_type;
36 using tile_type = pyre::grid::grid_t<cell_type,
38 pyre::memory::view_t<cell_type>>;
43 inline void addReferenceTile(size_type pid,
const constview_type & ref);
45 inline void addTargetTile(size_type pid,
const constview_type & tgt);
48 inline auto adjust() ->
const value_type *;
51 inline auto pairs()
const -> size_type;
52 inline auto arena()
const ->
const cell_type *;
55 inline void dump()
const;
60 inline Sequential(size_type pairs,
61 const layout_type & refLayout,
const layout_type & tgtLayout,
62 size_type refineFactor=2, size_type refineMargin=8,
63 size_type zoomFactor=4);
68 inline auto _push()
const -> cell_type *;
70 inline auto _detect(
const cell_type * cArena,
71 size_type refDim, size_type tgtDim)
const -> value_type *;
73 inline auto _refStats(value_type * rArena,
74 size_type refDim, size_type tgtDim)
const -> value_type *;
76 inline auto _sat(
const value_type * rArena,
77 size_type refDim, size_type tgtDim)
const -> value_type *;
80 inline auto _tgtStats(
const value_type * sat,
81 size_type refDim, size_type tgtDim, size_type corDim
82 )
const -> value_type *;
84 inline auto _correlate(
const value_type * rArena,
85 const value_type * refStats,
const value_type * tgtStats,
86 size_type refDim, size_type tgtDim, size_type corDim
87 )
const -> value_type *;
89 inline auto _maxcor(
const value_type * gamma, size_type corDim)
const ->
int *;
91 inline void _nudge(
int * locations, size_type refDim, size_type tgtDim)
const;
93 inline auto _refinedArena()
const -> cell_type *;
95 inline void _refRefine(cell_type * coarseArena, cell_type * refinedArena)
const;
97 inline void _tgtMigrate(cell_type * coarseArena,
int * locations,
98 cell_type * refinedArena)
const;
100 inline void _tgtRefine(cell_type * refinedArena)
const;
102 inline void _deramp(cell_type * arena)
const;
104 inline auto _zoomcor(value_type * gamma)
const -> value_type *;
106 inline auto _offsetField(
const int * maxcor,
const int * zoomed) ->
const value_type *;
109 inline auto _zoomcor_r2r(value_type * gamma)
const -> value_type *;
115 const size_type _pairs;
116 const size_type _refineFactor;
117 const size_type _refineMargin;
118 const size_type _zoomFactor;
121 const layout_type _refLayout;
123 const layout_type _tgtLayout;
125 const layout_type _corLayout;
127 const layout_type _refRefinedLayout;
129 const layout_type _tgtRefinedLayout;
131 const layout_type _corRefinedLayout;
133 const layout_type _corZoomedLayout;
136 const size_type _refCells;
138 const size_type _tgtCells;
140 const size_type _corCells;
142 const size_type _refRefinedCells;
144 const size_type _tgtRefinedCells;
147 const size_type _refFootprint;
149 const size_type _tgtFootprint;
151 const size_type _corFootprint;
153 const size_type _refRefinedFootprint;
155 const size_type _tgtRefinedFootprint;
158 cell_type *
const _arena;
160 value_type *
const _offsets;