Xmipp  v3.23.11-Nereus
Classes | Macros
multidim_array_generic.h File Reference
#include "xmipp_datatype.h"
#include "multidim_array.h"
#include "utils/half.hpp"
Include dependency graph for multidim_array_generic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MultidimArrayGeneric
 

Macros

#define SWITCHDATATYPE(datatype, OP)
 
#define GETMULTIDIMARRAY(type)   M = (T*) (((MultidimArray<type>*) im)->data);
 
#define GETMULTIDIMARRAY(type)   res = (void *) (((MultidimArray<type>*) im)->data);
 
#define GETMULTIDIMARRAY(type)   M = (MultidimArray<T>*) ((MultidimArray<type>*) im);
 
#define WINDOW(type)   _window(*((MultidimArray<type>*)(result.im)), z0,y0,x0,zF,yF,xF,init_value);
 
#define WINDOW(type)   ((MultidimArray<type>*)im)->window(result, z0,y0,x0,zF,yF,xF,(T)init_value);
 
#define WINDOW(type)   ((MultidimArray<type>*)im)->selfWindow(z0,y0,x0,zF,yF,xF,(type)init_value);
 
#define PATCH(type)   ((MultidimArray<type>*)im)->patch(*((MultidimArray<type>*)(patchArray.im)), x, y);
 
#define GETSLICE(type)   ((MultidimArray<type>*) im)->getSlice(k, M, axis, reverse, n);
 
#define GETSLICE(type)   getSlice(k, *(MultidimArray<type>*)M->im, axis, reverse, n);
 
#define SETSLICE(type)   ((MultidimArray<type>*) im)->setSlice(k, v, n);
 
#define SETSLICE(type)   setSlice(k,*(MultidimArray<type>*) v->im, n);
 
#define COMPUTESTATS(type)
 
#define COMPUTESDOUBLEMINMAX(type)   ((MultidimArray<type>*)(im))->computeDoubleMinMax(minval, maxval);
 
#define RANGEADJUST(type)   ((MultidimArray<type>*)(im))->rangeAdjust(*(MultidimArray<type>*)(example.im),mask);
 
#define OPERATORTIMESEQUAL(type)   *((MultidimArray<type>*)(im)) *= (type)op1;
 
#define OPERATORPLUSEQUAL(type)   *((MultidimArray<type>*)(im)) += *((MultidimArray<type>*)(op1.im));
 
#define GETVALUE(type)   ret = NZYX_ELEM(*(MultidimArray<type>*)im,n,k,i,j);
 
#define GETVALUE(type)   ret = A2D_ELEM(*(MultidimArray<type>*)im,i,j);
 
#define TYPECAST(type)   typeCast(*(MultidimArray<type>*)(im), M);
 
#define TYPECAST(type)   typeCast(M, *(MultidimArray<type>*)(im));
 
#define WINDOW(type)   ((MultidimArray<type>*)(im))->window(result, n0, z0, y0, x0, nF, zF, yF, xF, init_value);
 
MultidimArrayGenericSpeedUp Speed up macros
#define MULTIDIM_ARRAY_BASE(v)   (*((v).data->im))
 
#define MULTIDIM_ARRAY_GENERIC(v)   (*((v).data))
 
#define MULTIDIM_ARRAY_TYPE(v, type)   (*((MultidimArray<type>*)(v.im)))
 

Macro Definition Documentation

◆ COMPUTESDOUBLEMINMAX

#define COMPUTESDOUBLEMINMAX (   type)    ((MultidimArray<type>*)(im))->computeDoubleMinMax(minval, maxval);

◆ COMPUTESTATS

#define COMPUTESTATS (   type)
Value:
type Tminval(0); \
type Tmaxval(0); \
((MultidimArray<type>*)(im))->computeStats(avg, stddev, Tminval, Tmaxval);\
minval = Tminval;\
maxval = Tmaxval;
viol type
void computeStats(const std::vector< T > &V, double &avg, double &stddev, T &minval, T &maxval)
Definition: xmipp_funcs.h:317

◆ GETMULTIDIMARRAY [1/3]

#define GETMULTIDIMARRAY (   type)    M = (T*) (((MultidimArray<type>*) im)->data);

◆ GETMULTIDIMARRAY [2/3]

#define GETMULTIDIMARRAY (   type)    res = (void *) (((MultidimArray<type>*) im)->data);

◆ GETMULTIDIMARRAY [3/3]

#define GETMULTIDIMARRAY (   type)    M = (MultidimArray<T>*) ((MultidimArray<type>*) im);

◆ GETSLICE [1/2]

#define GETSLICE (   type)    ((MultidimArray<type>*) im)->getSlice(k, M, axis, reverse, n);

◆ GETSLICE [2/2]

#define GETSLICE (   type)    getSlice(k, *(MultidimArray<type>*)M->im, axis, reverse, n);

◆ GETVALUE [1/2]

#define GETVALUE (   type)    ret = NZYX_ELEM(*(MultidimArray<type>*)im,n,k,i,j);

◆ GETVALUE [2/2]

#define GETVALUE (   type)    ret = A2D_ELEM(*(MultidimArray<type>*)im,i,j);

◆ OPERATORPLUSEQUAL

#define OPERATORPLUSEQUAL (   type)    *((MultidimArray<type>*)(im)) += *((MultidimArray<type>*)(op1.im));

◆ OPERATORTIMESEQUAL

#define OPERATORTIMESEQUAL (   type)    *((MultidimArray<type>*)(im)) *= (type)op1;

◆ PATCH

#define PATCH (   type)    ((MultidimArray<type>*)im)->patch(*((MultidimArray<type>*)(patchArray.im)), x, y);

◆ RANGEADJUST

#define RANGEADJUST (   type)    ((MultidimArray<type>*)(im))->rangeAdjust(*(MultidimArray<type>*)(example.im),mask);

◆ SETSLICE [1/2]

#define SETSLICE (   type)    ((MultidimArray<type>*) im)->setSlice(k, v, n);

◆ SETSLICE [2/2]

#define SETSLICE (   type)    setSlice(k,*(MultidimArray<type>*) v->im, n);

◆ SWITCHDATATYPE

#define SWITCHDATATYPE (   datatype,
  OP 
)

Definition at line 45 of file multidim_array_generic.h.

◆ TYPECAST [1/2]

#define TYPECAST (   type)    typeCast(*(MultidimArray<type>*)(im), M);

◆ TYPECAST [2/2]

#define TYPECAST (   type)    typeCast(M, *(MultidimArray<type>*)(im));

◆ WINDOW [1/4]

#define WINDOW (   type)    _window(*((MultidimArray<type>*)(result.im)), z0,y0,x0,zF,yF,xF,init_value);

◆ WINDOW [2/4]

#define WINDOW (   type)    ((MultidimArray<type>*)im)->window(result, z0,y0,x0,zF,yF,xF,(T)init_value);

◆ WINDOW [3/4]

#define WINDOW (   type)    ((MultidimArray<type>*)im)->selfWindow(z0,y0,x0,zF,yF,xF,(type)init_value);

◆ WINDOW [4/4]

#define WINDOW (   type)    ((MultidimArray<type>*)(im))->window(result, n0, z0, y0, x0, nF, zF, yF, xF, init_value);