Initial snark14m import
[snark14.git] / src / snark / emap.h
1 /* 
2  ***********************************************************
3  $SNARK_Header: S N A R K  1 4 - A PICTURE RECONSTRUCTION PROGRAM $
4  $HeadURL: svn://dig.cs.gc.cuny.edu/snark/trunk/src/snark/emap.h $
5  $LastChangedRevision: 85 $
6  $Date: 2014-07-02 16:07:08 -0400 (Wed, 02 Jul 2014) $
7  $Author: agulati $
8  ***********************************************************
9  */
10
11 #ifndef EMAP_H
12 #define EMAP_H
13
14 #include <cstdio>
15 #include "alg.h"
16
17 class MAPEM_class
18 {
19 public:
20         REAL* qj;REAL* Kx;REAL* Sx;REAL* Wjj;REAL* prj;INTEGER idxmax, idymax, idx,
21                         idy;REAL* Sjjinv;REAL gamma1, sclfactor, delta;BOOLEAN mapevl;
22 };
23
24 class emap_class: public alg_class
25 {
26 private:
27         MAPEM_class MAPEM;
28         FILE* MAPUser1;
29
30         void EvalMAP(REAL* recon, INTEGER iter);
31         void InitMAP(REAL* recon);
32         void ReadInp(INTEGER area, INTEGER nelem, INTEGER usrays, INTEGER prjnum, BOOLEAN *flag);BOOLEAN MAP(REAL* recon);
33         void applyK(REAL* source, REAL* dest, INTEGER nelem);BOOLEAN findqpart( INTEGER np, INTEGER nr, REAL yi, REAL* recon, REAL* qtilde);
34         void sscal(INTEGER size, REAL factor, REAL* dest, INTEGER spac);
35
36 public:
37         INTEGER Init();BOOLEAN Run(REAL* recon, INTEGER* list, REAL* weight, INTEGER iter);INTEGER Reset();
38 };
39
40 #endif