Xmipp  v3.23.11-Nereus
Functions
transform_adjust_image_grey_levels.cpp File Reference
#include "transform_adjust_image_grey_levels.h"
#include "data/mask.h"
Include dependency graph for transform_adjust_image_grey_levels.cpp:

Go to the source code of this file.

Functions

double transformImageGrayCost (double a, double b, ProgTransformImageGreyLevels *prm)
 
double transformImageGrayCostAB (double *x, void *_prm)
 
double transformImageGrayCostBA (double *x, void *_prm)
 

Function Documentation

◆ transformImageGrayCost()

double transformImageGrayCost ( double  a,
double  b,
ProgTransformImageGreyLevels prm 
)

Definition at line 119 of file transform_adjust_image_grey_levels.cpp.

120 {
121  if (fabs(a-1)>prm->maxA)
122  return 1e38;
123  if (fabs(b)>prm->maxB*prm->Istddev)
124  return 1e38;
125 
126  double cost=0;
127  const MultidimArray<double> &mP=prm->P();
128  const MultidimArray<int> &mMask2D=prm->mask2D;
129  MultidimArray<double> &mIfiltered=prm->Ifiltered();
131  {
132 // if (DIRECT_MULTIDIM_ELEM(mMask2D,n))
133  {
134  double val=fabs((a*DIRECT_MULTIDIM_ELEM(mP,n)+b)-DIRECT_MULTIDIM_ELEM(mIfiltered,n));
135  cost+=val*val;
136  }
137  }
138  cost*=prm->iMask2Dsum;
139  return cost;
140 }
doublereal * b
#define FOR_ALL_DIRECT_ELEMENTS_IN_MULTIDIMARRAY(v)
#define DIRECT_MULTIDIM_ELEM(v, n)
int * n
doublereal * a

◆ transformImageGrayCostAB()

double transformImageGrayCostAB ( double *  x,
void *  _prm 
)

Definition at line 142 of file transform_adjust_image_grey_levels.cpp.

143 {
145 }
doublereal * x
double transformImageGrayCost(double a, double b, ProgTransformImageGreyLevels *prm)

◆ transformImageGrayCostBA()

double transformImageGrayCostBA ( double *  x,
void *  _prm 
)

Definition at line 147 of file transform_adjust_image_grey_levels.cpp.

148 {
150 }
doublereal * x
double transformImageGrayCost(double a, double b, ProgTransformImageGreyLevels *prm)