65 double y0 = 0,
double z0 = 0);
77 double r1,
double r2,
double pix_width,
79 double x0 = 0,
double y0 = 0,
double z0 = 0);
87 double Deltaw = 1.0 / 12.0);
110 double omega,
double delta = 0.01,
double Deltaw = 1.0 / 12.0);
117 double x0 = 0,
double y0 = 0,
double z0 = 0);
125 double omega,
double power_percentage,
126 double x0 = 0,
double y0 = 0,
double z0 = 0);
138 double x0 = 0,
double y0 = 0,
double z0 = 0);
151 double x0 = 0,
double y0 = 0,
double z0 = 0);
166 double x0 = 0,
double y0 = 0,
double z0 = 0);
180 double x0 = 0,
double y0 = 0,
double z0 = 0);
193 double x0 = 0,
double y0 = 0,
double z0 = 0);
197 double radius,
int smin,
int smax,
198 const std::string& quadrant);
207 double omega,
double delta = 0.01,
208 double Deltaw = 1.0 / 12.0);
234 double radius,
int smin,
int smax,
235 const std::string& quadrant);
247 double x0 = 0,
double y0 = 0,
int z0 = 0);
261 double x0 = 0,
double y0 = 0,
double z0 = 0);
365 #define BINARY_CIRCULAR_MASK 1 366 #define BINARY_CROWN_MASK 2 367 #define BINARY_CYLINDER_MASK 3 368 #define BINARY_FRAME_MASK 4 369 #define GAUSSIAN_MASK 5 370 #define RAISED_COSINE_MASK 6 371 #define BLACKMAN_MASK 7 373 #define SINC_BLACKMAN_MASK 9 374 #define READ_BINARY_MASK 10 375 #define READ_REAL_MASK 11 376 #define RAISED_CROWN_MASK 12 377 #define BINARY_DWT_CIRCULAR_MASK 13 378 #define BINARY_DWT_SPHERICAL_MASK 14 379 #define BINARY_CONE_MASK 15 380 #define BINARY_WEDGE_MASK 16 381 #define BLOB_CIRCULAR_MASK 17 382 #define BLOB_CROWN_MASK 18 383 #define BINARY_TUBE 19 386 #define DOUBLE_MASK 2 387 #define ALL_KINDS INT_MASK | DOUBLE_MASK 390 const char* prefix=
nullptr,
const char* comment=
nullptr,
bool moreOptions=
false);
524 void read(
int argc,
const char** argv);
569 void resize(
size_t Ydim,
size_t Xdim);
573 void resize(
size_t Zdim,
size_t Ydim,
size_t Xdim);
636 T subs_val = 0,
bool apply_geo =
false)
669 if (
XSIZE(result) == 0)
798 template<
typename T1,
typename T>
802 double& avg,
double& stddev)
821 else if (aux > max_val)
831 avg = sum1 / (double) N;
833 stddev =
sqrt(fabs(sum2 / N - avg * avg) * N / (N - 1));
841 double& avg,
double& stddev)
843 #define COMPUTESTATS(type) \ 844 computeStats_within_binary_mask(mask,*((MultidimArray<type>*)m.im),min_val,max_val,avg,stddev); 930 T
min, T
max,
int no_steps)
933 hist.
init(min, max, no_steps);
951 #define count_with_mask_above(mask, m, th) \ 952 count_with_mask(mask, m, COUNT_ABOVE, th, 0); 959 #define count_with_mask_below(mask, m, th) \ 960 count_with_mask(mask, m, COUNT_BELOW, th, 0); 968 #define count_with_mask_between(mask, m, th1, th2) \ 969 count_with_mask(mask, m, COUNT_BETWEEN, th1, th2); 1013 double th1,
double th2);
1019 template<
typename T>
1023 unsigned long int n;
void generate_mask(int Xdim)
void set_binary_mask(MultidimArray< int > &_imask)
#define SINC_BLACKMAN_MASK
void SeparableSincKaiserMask2D(MultidimArray< double > &mask, double omega, double delta=0.01, double Deltaw=1.0/12.0)
void BinaryConeMask(MultidimArray< int > &mask, double theta, int mode=INNER_MASK, bool centerOrigin=false)
constexpr int NO_ACTIVATE
void min(Image< double > &op1, const Image< double > &op2)
void resize(size_t Ndim, size_t Zdim, size_t Ydim, size_t Xdim, bool copy=true)
void BlobCircularMask(MultidimArray< double > &mask, double r1, blobtype blob, int mode, double x0=0, double y0=0, double z0=0)
Matrix2D< double > mask_geo
void BinaryCrownMask(MultidimArray< int > &mask, double R1, double R2, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
void apply_binary_mask(const MultidimArray< int > &mask, const MultidimArray< T > &m_in, MultidimArray< T > &m_out, T subs_val=(T) 0)
#define INSERT_VALUE(histogram, value)
void resizeNoCopy(const MultidimArray< T1 > &v)
void BinaryWedgeMask(MultidimArray< int > &mask, double theta0, double thetaF, const Matrix2D< double > &A, bool centerOrigin=false)
void sqrt(Image< double > &op)
#define BINARY_CROWN_MASK
void BinaryCircularMask(MultidimArray< int > &mask, double radius, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
#define RAISED_COSINE_MASK
void generate_mask(size_t Zdim, size_t Ydim, size_t Xdim)
#define BINARY_CYLINDER_MASK
void SincMask(MultidimArray< double > &mask, double omega, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
#define DIRECT_A2D_ELEM(v, i, j)
#define BINARY_FRAME_MASK
void generate_mask(int Ydim, int Xdim, bool apply_geo=false)
#define FOR_ALL_DIRECT_ELEMENTS_IN_MULTIDIMARRAY_ptr(v, n, ptr)
void apply_geo_cont_2D_mask(MultidimArray< double > &mask, const Matrix2D< double > &A)
#define FOR_ALL_DIRECT_ELEMENTS_IN_ARRAY3D(V)
void resize(const MultidimArray< T > &m)
void init(double min_val, double max_val, int n_steps)
MultidimArray< int > & get_binary_mask()
void force_to_be_binary()
ql0001_ & k(htemp+1),(cvec+1),(atemp+1),(bj+1),(bl+1),(bu+1),(x+1),(clamda+1), &iout, infoqp, &zero,(w+1), &lenw,(iw+1), &leniw, &glob_grd.epsmac
void computeStats_within_binary_mask(const MultidimArray< T1 > &mask, const MultidimArray< T > &m, double &min_val, double &max_val, double &avg, double &stddev)
static void defineParams(XmippProgram *program, int allowed_data_types=ALL_KINDS, const char *prefix=nullptr, const char *comment=nullptr, bool moreOptions=false)
#define COMPUTESTATS(type)
#define A3D_ELEM(V, k, i, j)
void read(int argc, const char **argv)
void mask3D_6neig(MultidimArray< int > &mask, int value=1, int center=NO_ACTIVATE)
MultidimArray< double > dmask
#define RAISED_CROWN_MASK
void apply_mask(const MultidimArray< T > &I, MultidimArray< T > &result, T subs_val=0, bool apply_geo=false)
#define DIRECT_A1D_ELEM(v, i)
#define FOR_ALL_ELEMENTS_IN_ARRAY3D(V)
constexpr int COUNT_BETWEEN
Mask(int _allowed_data_type=ALL_KINDS)
void BinaryDWTSphericalMask2D(MultidimArray< int > &mask, double radius, int smin, int smax, const std::string &quadrant)
void produce_vector(const MultidimArray< T > &I, MultidimArray< T > &result)
void BlackmanMask(MultidimArray< double > &mask, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
MultidimArray< double > & get_cont_mask()
void force_to_be_continuous()
void apply_cont_mask(const MultidimArray< double > &mask, const MultidimArray< T > &m_in, MultidimArray< T > &m_out)
void BlobCrownMask(MultidimArray< double > &mask, double r1, double r2, blobtype blob, int mode, double x0=0, double y0=0, double z0=0)
void max(Image< double > &op1, const Image< double > &op2)
void mask2D_8neig(MultidimArray< int > &mask, int value1=1, int value2=1, int center=NO_ACTIVATE)
void BinaryDWTCircularMask2D(MultidimArray< int > &mask, double radius, int smin, int smax, const std::string &quadrant)
void readParams(XmippProgram *program)
void GaussianMask(MultidimArray< double > &mask, double sigma, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
const MultidimArray< double > & get_cont_mask() const
#define DIRECT_A3D_ELEM(v, k, i, j)
#define BINARY_DWT_CIRCULAR_MASK
void SincBlackmanMask(MultidimArray< double > &mask, double omega, double power_percentage, double x0=0, double y0=0, double z0=0)
#define BLOB_CIRCULAR_MASK
void invert_binary_mask(MultidimArray< T > &mask)
void RaisedCrownMask(MultidimArray< double > &mask, double r1, double r2, double pix_width, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
void apply_geo_binary_2D_mask(MultidimArray< int > &mask, const Matrix2D< double > &A)
void rangeAdjust_within_mask(const MultidimArray< double > *mask, const MultidimArray< double > &m1, MultidimArray< double > &m2)
void generate_mask(bool apply_geo=false)
void typeCast(const Matrix1D< T1 > &v1, Matrix1D< T2 > &v2)
#define BINARY_CIRCULAR_MASK
constexpr int COUNT_BELOW
constexpr int OUTSIDE_MASK
void write_mask(const FileName &fn)
MultidimArray< int > imask
void KaiserMask(MultidimArray< double > &mask, double delta=0.01, double Deltaw=1.0/12.0)
#define SPEED_UP_tempsInt
void mask3D_18neig(MultidimArray< int > &mask, int value1=1, int value2=1, int center=NO_ACTIVATE)
void initZeros(const MultidimArray< T1 > &op)
void mask3D_26neig(MultidimArray< int > &mask, int value1=1, int value2=1, int value3=1, int center=NO_ACTIVATE)
const MultidimArray< int > & get_binary_mask() const
#define FOR_ALL_ELEMENTS_IN_COMMON_IN_ARRAY3D(V1, V2)
void BinaryCylinderMask(MultidimArray< int > &mask, double R, double H, int mode=INNER_MASK, double x0=0, double y0=0, int z0=0)
void generate_mask(const MultidimArray< T > &m, bool apply_geo=false)
constexpr int COUNT_ABOVE
void mask2D_4neig(MultidimArray< int > &mask, int value=1, int center=NO_ACTIVATE)
void RaisedCosineMask(MultidimArray< double > &mask, double r1, double r2, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
#define BINARY_WEDGE_MASK
int count_with_mask(const MultidimArray< int > &mask, const MultidimArray< T > &m, int mode, double th1, double th2)
void set_cont_mask(MultidimArray< double > &_dmask)
void compute_hist_within_binary_mask(const MultidimArray< int > &mask, MultidimArray< T > &v, Histogram1D &hist, int no_steps)
void BinaryFrameMask(MultidimArray< int > &mask, int Xrect, int Yrect, int Zrect, int mode=INNER_MASK, double x0=0, double y0=0, double z0=0)
#define SWITCHDATATYPE(datatype, OP)
void SincKaiserMask(MultidimArray< double > &mask, double omega, double delta=0.01, double Deltaw=1.0/12.0)