7#include "tpcclibConfig.h"
24 if(d1==NULL || d2==NULL)
return(1);
47 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
48 if(verbose>1) printf(
"%s()\n", __func__);
51 if(d1==NULL || d2==NULL) {
59 if(ret>0 && verbose>0) {
93 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
94 if(verbose>1) printf(
"%s()\n", __func__);
97 if(d1==NULL || d2==NULL || d1->
dimz<1 || d2->
dimz<1 || d1->
dimy<1 || d2->
dimy<1
106 if(verbose>0) printf(
"different IMG dimension.\n");
112 for(
int zi=0; zi<d1->
dimz; zi++)
113 for(
int yi=0; yi<d1->
dimy; yi++)
114 for(
int xi=0; xi<d1->
dimx; xi++)
115 for(
int ti=0; ti<d1->
dimt; ti++) {
116 if(
floatMatch(d1->
m[zi][yi][xi][ti], d2->
m[zi][yi][xi][ti], test_abs)==1)
118 if(test_rel>0.0 &&
floatMatchRel(d1->
m[zi][yi][xi][ti], d2->
m[zi][yi][xi][ti], test_rel)==1)
122 s=fabsf(d1->
m[zi][yi][xi][ti] - d2->
m[zi][yi][xi][ti]);
123 printf(
"img1.m[%d][%d][%d][%d] := %g\n", zi, yi, xi, ti, d1->
m[zi][yi][xi][ti]);
124 printf(
"img2.m[%d][%d][%d][%d] := %g\n", zi, yi, xi, ti, d2->
m[zi][yi][xi][ti]);
125 printf(
"|diff| := %g\n", s);
126 printf(
"diff_limit := %g\n", test_abs);
127 if(test_rel>0.0) printf(
"rel_diff_limit := %g\n", test_rel);
150 const float test_abs,
154 const float test_rel,
158 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
159 if(verbose>1) printf(
"%s()\n", __func__);
162 if(d1==NULL || d2==NULL || d1->
dimt<1 || d2->
dimt<1) {
170 if(verbose>0) printf(
"different frame nr.\n");
176 for(
int fi=0; fi<d1->
dimt; fi++) {
189 printf(
"img1.x1[%d] := %g\n", fi, d1->
x1[fi]);
190 printf(
"img2.x1[%d] := %g\n", fi, d2->
x1[fi]);
191 printf(
"|diff| := %g\n", fabsf(d1->
x1[fi]-d2->
x1[fi]));
192 printf(
"img1.x2[%d] := %g\n", fi, d1->
x2[fi]);
193 printf(
"img2.x2[%d] := %g\n", fi, d2->
x2[fi]);
194 printf(
"|diff| := %g\n", fabsf(d1->
x2[fi]-d2->
x2[fi]));
195 printf(
"img1.x[%d] := %g\n", fi, d1->
x[fi]);
196 printf(
"img2.x[%d] := %g\n", fi, d2->
x[fi]);
197 printf(
"|diff| := %g\n", fabsf(d1->
x[fi]-d2->
x[fi]));
198 printf(
"diff_limit := %g\n", test_abs);
199 if(test_rel>0.0) printf(
"rel_diff_limit := %g\n", test_rel);
int floatMatch(const float v1, const float v2, const float lim)
int floatMatchRel(const float v1, const float v2, const float lim)
int imgCompareMatrixSize(IMG *d1, IMG *d2)
int imgCompareTimes(IMG *d1, IMG *d2, const float test_abs, const float test_rel, TPCSTATUS *status)
int imgCompareUnit(IMG *d1, IMG *d2, TPCSTATUS *status)
int imgCompareConc(IMG *d1, IMG *d2, const float test_abs, const float test_rel, TPCSTATUS *status)
void statusSet(TPCSTATUS *s, const char *func, const char *srcfile, int srcline, tpcerror error)
int verbose
Verbose level, used by statusPrint() etc.
@ TPCERROR_NO_DATA
File contains no data.
char * unitName(int unit_code)
Header file for libtpcimage.