20 int ii, si, ri, fi, n, ret;
21 char tmp[1024], tmp2[512], *cptr;
27 if(filename==NULL || dft==NULL || strlen(filename)<1) {
28 strcpy(
dfterrmsg,
"program error");
return(1);
36 strcpy(tmp,
"Image Position"); ii=
iftGet(&ift, tmp, 0);
38 strcpy(tmp,
"XAxis"); ii=
iftGet(&ift, tmp, 0);
40 strcpy(tmp,
"YAxis"); ii=
iftGet(&ift, tmp, 0);
44 strcpy(tmp,
"Curve X Dur Max Min Mean StdDev");
50 ri=fi=0; strcpy(tmp2,
""); n=1;
51 for(ii=si; ii<ift.
keyNr; ii++) {
52 if(sscanf(ift.
item[ii].
value,
"%s", tmp)!=1) {
54 if(strcmp(tmp, tmp2)==0) {
57 ri++; strcpy(tmp2, tmp);
if(n>fi) fi=n; n=1;
69 ri=fi=0; strcpy(tmp2,
""); n=1;
70 for(ii=si; ii<ift.
keyNr; ii++) {
71 if(sscanf(ift.
item[ii].
value,
"%s %f %f %f %f %f %f",
72 tmp, f, f+1, f+2, f+3, f+4, f+5)!=7) {
74 if(strcmp(tmp, tmp2)==0) n++;
75 else {ri++; strcpy(tmp2, tmp);
if(n>fi) fi=n; n=1;}
82 dft->
x1[n-1]=f[0]; dft->
x2[n-1]=f[0]+f[1];
83 dft->
x[n-1]=0.5*(dft->
x1[n-1]+dft->
x2[n-1]);
85 if(fabs(dft->
x1[n-1]-f[0])>1.0E-12 || fabs(dft->
x2[n-1]-f[0]-f[1])>1.0E-12) {
89 dft->
voi[ri-1].
y[n-1]=f[4];
93 strcpy(tmp,
"Image Position"); ii=
iftGet(&ift, tmp, 0);
95 f[0]=atof(ift.
item[ii].
value); sprintf(tmp,
"%-6.0f", f[0]); tmp[6]=
'\0';
96 for(ri=0; ri<dft->
voiNr; ri++) {
103 strcpy(tmp,
"YAxis"); ii=
iftGet(&ift, tmp, 0);
104 if(ii>=0 && strncasecmp(ift.
item[ii].
value,
"Uptake (Bqml)", 8)==0) {
106 if( strncasecmp(cptr,
"Bqml", 4)==0) strcpy(dft->
unit,
"Bq/ml");
107 else if(strncasecmp(cptr,
"kBqml", 5)==0) strcpy(dft->
unit,
"kBq/ml");
108 else if(strncasecmp(cptr,
"MBqml", 5)==0) strcpy(dft->
unit,
"MBq/ml");
109 else if(strncasecmp(cptr,
"Bqcc", 4)==0) strcpy(dft->
unit,
"Bq/ml");
110 else if(strncasecmp(cptr,
"kBqcc", 5)==0) strcpy(dft->
unit,
"kBq/ml");
111 else if(strncasecmp(cptr,
"MBqcc", 5)==0) strcpy(dft->
unit,
"MBq/ml");
116 strcpy(tmp,
"XAxis"); ii=
iftGet(&ift, tmp, 0);
int dftSetmem(DFT *data, int frameNr, int voiNr)
int iftRead(IFT *ift, char *filename, int is_key_required, int verbose)
int iftFindNthValue(IFT *ift, char *str, int n, int verbose)
int iftGet(IFT *ift, char *key, int verbose)
Header file for libtpccurveio.
size_t strlcpy(char *dst, const char *src, size_t dstsize)
int studynr_from_fname(char *fname, char *studynr)
#define MAX_REGIONSUBNAME_LEN
char studynr[MAX_STUDYNR_LEN+1]
char unit[MAX_UNITS_LEN+1]
char voiname[MAX_REGIONSUBNAME_LEN+1]
char name[MAX_REGIONNAME_LEN+1]
char place[MAX_REGIONSUBNAME_LEN+1]
int xelRead(char *filename, DFT *dft)