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/bdhk.h $
5 $LastChangedRevision: 85 $
6 $Date: 2014-07-02 16:07:08 -0400 (Wed, 02 Jul 2014) $
8 ***********************************************************
24 class bdhk_class: public alg_class
29 REAL AVER(REAL A, REAL B);
31 REAL neigSum_General(REAL* recon, REAL* d, int kernel_size);
33 REAL AVER3(REAL A, REAL B, REAL C);
35 REAL diffAbs(REAL A, REAL B);
37 REAL neigSum(REAL* recon, REAL* v);
39 void orderRays(struct NPNR* arrayRays, INTEGER kount);
41 REAL calcTV(REAL* recon);
43 BOOLEAN calculateGradientTV(REAL* grad, REAL* recon);
45 REAL calcHalfNormSquare(REAL* recon);
47 REAL calcNorm(REAL* aVector);
48 //calcNorm calculates the square-root of the norm square of a vector ||V||
50 REAL squareNorm(REAL* aVector);
51 //squareNorm calculates the norm square of a vector ||V||^2
53 REAL calculateResidual(REAL* recon, INTEGER* list, REAL* weight, struct NPNR* arrayRays, INTEGER kount);
54 //calculates the residual of recon from its pseudo projections
56 void MyART(REAL* recon, INTEGER* list, REAL* weight, struct NPNR* arrayRays, INTEGER kount);
62 struct NPNR* arrayRays;
64 INTEGER KOUNT; //user paramater to control "STEPS kount" like
70 BOOLEAN Run(REAL* recon, INTEGER* list, REAL* weight, INTEGER iter);