2 @package snark14Display
3 @author Bruno M. Carvalho and Deniz Sarioz
4 licensed under (open-source) QPL v1.0
5 which accompanies this distribution in the file QPL
8 #include "variables.hpp"
14 #include <qmessagebox.h>
16 Snarkproj::Snarkproj()
22 fileformat=DIGDataFormat_ASCII;
25 Snarkproj::Snarkproj(DIGDataFormat format)
32 tmpimg=(double *)malloc(sizeof(double)*usrays);
33 proj=matrix(0,prjnum,0,usrays);
34 if(!format) { /* format=0 (ASCII) */
35 projformat=DIGDataFormat_ASCII;
36 for(i=0;i<prjnum;i++) {
37 // digprojfil.SelectArraySet(i);
38 digprojfil.SelectProj(i);
39 // digprojfil.SelectArray(0);
40 // digprojfil.GetArrayData(tmpimg);
41 digprojfil.GetProjData(tmpimg);
42 for(j=0;j<usrays;j++) {
51 else { /* format=1 (BINARY) */
52 projformat=DIGDataFormat_BINARY;
53 for(i=0;i<prjnum;i++) {
54 // digprojfil.SelectArraySet(i);
55 digprojfil.SelectProj(i);
56 // digprojfil.SelectArray(0);
57 // digprojfil.GetArrayData(tmpimg);
58 digprojfil.GetProjData(tmpimg);
59 for(j=0;j<usrays;j++) {
73 * Destroys the object and frees any allocated resources
75 Snarkproj::~Snarkproj()
77 // no need to delete child widgets, Qt does it all for us
80 // void Snarkproj::readProj(DIGDataFormat format)
81 void Snarkproj::readProj()
88 tmpimg=(double *)malloc(sizeof(double)*usrays);
89 proj=matrix(0,prjnum,0,usrays);
90 // if(!format) { /* format=0 (DIGDataFormat_ASCII) */
91 // for(i=0;i<prjnum;i++) {
92 // // digprojfil.SelectArraySet(i);
93 // digprojfil.SelectProj(i);
94 // // digprojfil.SelectArray(0);
95 // // digprojfil.GetArrayData(tmpimg);
96 // digprojfil.GetProjData(tmpimg);
97 // for(j=0;j<usrays;j++) {
98 // proj[i][j]=tmpimg[j];
101 // if(proj[i][j]<min)
106 // else { /* format=1 (DIGDataFormat_BINARY) */
107 for(i=0; i< (static_cast<int>(prjnum)) ; i++) {
108 // digprojfil.SelectArraySet(i);
109 digprojfil.SelectProj(i);
110 // digprojfil.SelectArray(0);
111 // digprojfil.GetArrayData(tmpimg);
112 digprojfil.GetProjData(tmpimg);
113 for(j=0; j< (static_cast<int>(usrays)) ; j++) {
114 proj[i][j]=tmpimg[j];
126 double** Snarkproj::getProj()
131 double Snarkproj::getMax()
136 double Snarkproj::getMin()
141 bool Snarkproj::isLoaded()
146 double** Snarkproj::matrix(int nrl,int nrh,int ncl,int nch)
147 /* Allocates a double array with range [npl .. nph][nrl .. nrh][ncl .. nch] */
152 m = (double **) malloc((unsigned) (nrh-nrl+1)*sizeof(double*));
154 printf("Allocation failure in matrix() (y)\n");
158 for(j=nrl; j<=nrh; j++) {
159 m[j] = (double *) malloc((unsigned) (nch-ncl+1)*sizeof(double));
161 printf("Allocation failure in matrix() (x)\n");