double QccIMGImageCubeMSE(const
QccIMGImageCube *image_cube1, const QccIMGImageCube *image_cube2);
double
QccIMGImageCubeShapeAdaptiveMSE(const QccIMGImageCube *image_cube1, const
QccIMGImageCube *image_cube2, const QccIMGImageCube *alpha_mask);
double
QccIMGImageCubeMAE(const QccIMGImageCube *image_cube1, const QccIMGImageCube
*image_cube2);
double QccIMGImageCubeShapeAdaptiveMAE(const QccIMGImageCube
*image_cube1, const QccIMGImageCube *image_cube2, const QccIMGImageCube
*alpha_mask);
QccIMGImageCubeShapeAdaptiveMSE() performs an MSE calculation similar to that of QccIMGImageCubeMSE(), except that alpha_mask is assumed to denote regions that are "transparent" in both image_cube1 and image_cube2 and thus contain no valid voxel data. That is, QccIMGImageCubeShapeAdaptiveMSE() skips over voxels in the MSE calculation for which QccAlphaTransparent(3) returns non-zero when applied to alpha_mask at the current voxel location. If alpha_mask is NULL, the usual, full-cube MSE is calculated via QccIMGImageCubeMSE(). image_cube1, image_cube2, and alpha_mask (if it is non-NULL) must all have the same size.
QccIMGImageCubeMAE() returns the maximum absolute error (MAE) between image_cube1 and image_cube2. The MAE is calculated by taking the difference between a voxel in image_cube1 and its corresponding voxel in image_cube2, and then calculating the absolute value of this difference using fabs(3) . The largest absolute value encountered in this fashion over the entire image cube is returned by QccIMGImageCubeMAE(). image_cube1 and image_cube2 must have the same size.
QccIMGImageCubeShapeAdaptiveMAE() performs an MAE calculation similar to that of QccIMGImageCubeMAE(), except that alpha_mask is assumed to denote regions that are "transparent" in both image_cube1 and image_cube2 and thus contain no valid voxel data. alpha_mask is NULL, the usual, full-cube MAE is calculated via QccIMGImageCubeMAE(). image_cube1, image_cube2, and alpha_mask (if it is non-NULL) must all have the same size.