22 v->
x=v->
y=v->
z=v->
f=0;
25 strncpy(tmp, str, 255); tmp[255]=(char)0;
26 cptr=strtok(tmp,
" ,;:()|-");
if(cptr==NULL)
return 1;
27 v->
x=atoi(cptr);
if(v->
x<1)
return 1;
28 cptr=strtok(NULL,
" ,;:()|-");
if(cptr==NULL)
return 2;
29 v->
y=atoi(cptr);
if(v->
y<1)
return 1;
30 cptr=strtok(NULL,
" ,;:()|-");
if(cptr==NULL)
return 3;
31 v->
z=atoi(cptr);
if(v->
z<1)
return 1;
32 cptr=strtok(NULL,
" ,;:()|-");
if(cptr==NULL)
return 0;
51 if(img_range==NULL)
return 1;
53 if(img_range->
x1<0 || img_range->
x2<0)
return 2;
54 if(img_range->
x2<img_range->
x1) {
55 i=img_range->
x1; img_range->
x1=img_range->
x2; img_range->
x2=i;}
56 if(img_range->
y1<0 || img_range->
y2<0)
return 3;
57 if(img_range->
y2<img_range->
y1) {
58 i=img_range->
y1; img_range->
y1=img_range->
y2; img_range->
y2=i;}
59 if(img_range->
z1<0 || img_range->
z2<0)
return 4;
60 if(img_range->
z2<img_range->
z1) {
61 i=img_range->
z1; img_range->
z1=img_range->
z2; img_range->
z2=i;}
62 if(img_range->
f1<0 || img_range->
f2<0)
return 5;
63 if(img_range->
f2<img_range->
f1) {
64 i=img_range->
f1; img_range->
f1=img_range->
f2; img_range->
f2=i;}
93 if(irdfile==NULL ||
strnlen(irdfile, 2)<1 || img_range==NULL) {
94 if(status!=NULL) strcpy(status,
"program error");
99 if(status!=NULL) strcpy(status, ift.
status);
103 strcpy(key,
"corner1"); ii=
iftGet(&ift, key, 0);
107 img_range->
x1=v.
x; img_range->
y1=v.
y; img_range->
z1=v.
z; img_range->
f1=v.
f;
108 strcpy(key,
"corner2"); ii=
iftGet(&ift, key, 0);
111 img_range->
x2=v.
x; img_range->
y2=v.
y; img_range->
z2=v.
z; img_range->
f2=v.
f;
114 if(status!=NULL) strcpy(status,
"ok");
122 for(ii=0, ret=0; ii<ift.
keyNr; ii++) {
125 img_range->
x1=v.
x; img_range->
y1=v.
y; img_range->
z1=v.
z; img_range->
f1=v.
f;
130 img_range->
x2=v.
x; img_range->
y2=v.
y; img_range->
z2=v.
z; img_range->
f2=v.
f;
135 if(status!=NULL) strcpy(status,
"volume definitions not found");
140 if(status!=NULL) strcpy(status,
"ok");
158 if(r==NULL || img==NULL)
return(1);
161 if(r->
x1<1 || r->
x1>img->
dimx)
return(11);
162 if(r->
x2<1 || r->
x2>img->
dimx)
return(12);
164 if(r->
y1<1 || r->
y1>img->
dimy)
return(21);
165 if(r->
y2<1 || r->
y2>img->
dimy)
return(22);
167 if(r->
z1<1 || r->
z1>img->
dimz)
return(31);
168 if(r->
z2<1 || r->
z2>img->
dimz)
return(32);
171 if(r->
f1<1 && r->
f2<1) {
176 if(r->
f1<1 || r->
f1>img->
dimt)
return(41);
177 if(r->
f2<1 || r->
f2>img->
dimt)
return(42);
int iftRead(IFT *ift, char *filename, int is_key_required, int verbose)
int iftGet(IFT *ift, char *key, int verbose)
int irdRead(char *irdfile, IMG_RANGE *img_range, char *status)
int irdReorder(IMG_RANGE *img_range)
int irdCheck(IMG_RANGE *r, IMG *img)
int string_to_xyzf(const char *str, IMG_PIXEL *v)
Header file for libtpcimgio.
size_t strnlen(const char *s, size_t n)