Xmipp  v3.23.11-Nereus
Functions
micrograph.cpp File Reference
#include "micrograph.h"
#include <core/args.h>
#include <data/mask.h>
#include <core/geometry.h>
#include <fstream>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
Include dependency graph for micrograph.cpp:

Go to the source code of this file.

Functions

double matrix_fitness (double *p, void *prm)
 

Function Documentation

◆ matrix_fitness()

double matrix_fitness ( double *  p,
void *  prm 
)

Definition at line 790 of file micrograph.cpp.

791 {
792  auto *aligner = (TiltPairAligner *) prm;
793  Euler_angles2matrix(-p[1], p[3], p[2], aligner->pair_E);
794  double retval = 0;
795  for (int i = 0; i < 2; i++)
796  for (int j = 0; j < 2; j++)
797  {
798  double error = fabs(
799  MAT_ELEM(aligner->pair_E,i, j)
800  - MAT_ELEM(aligner->Put, i, j));
801  retval += error * error;
802  }
803  return retval;
804 }
void Euler_angles2matrix(T alpha, T beta, T gamma, Matrix2D< T > &A, bool homogeneous)
Definition: geometry.cpp:624
#define i
#define MAT_ELEM(m, i, j)
Definition: matrix2d.h:116
#define j
void error(char *s)
Definition: tools.cpp:107
ProgClassifyCL2D * prm