Xmipp  v3.23.11-Nereus
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
BadPixelFilter Class Reference

#include <filters.h>

Inheritance diagram for BadPixelFilter:
Inheritance graph
[legend]
Collaboration diagram for BadPixelFilter:
Collaboration graph
[legend]

Public Types

enum  BadPixelFilterType { NEGATIVE, MASK, OUTLIER }
 

Public Member Functions

void readParams (XmippProgram *program)
 
void apply (MultidimArray< double > &img)
 
- Public Member Functions inherited from XmippFilter
virtual ~XmippFilter ()
 
virtual void show ()
 

Static Public Member Functions

static void defineParams (XmippProgram *program)
 

Public Attributes

BadPixelFilterType type
 
double factor
 
Image< char > * mask
 

Detailed Description

Some concrete filters

Definition at line 1464 of file filters.h.

Member Enumeration Documentation

◆ BadPixelFilterType

Apply filter on bad pixels

Enumerator
NEGATIVE 
MASK 
OUTLIER 

Definition at line 1468 of file filters.h.

Member Function Documentation

◆ apply()

void BadPixelFilter::apply ( MultidimArray< double > &  img)
virtual

Apply the filter to an image or volume

Implements XmippFilter.

Definition at line 3600 of file filters.cpp.

3601 {
3602  switch (type)
3603  {
3604  case NEGATIVE:
3605  forcePositive(img);
3606  break;
3607  case MASK:
3608  boundMedianFilter(img, mask->data);
3609  break;
3610  case OUTLIER:
3611  pixelDesvFilter(img, factor);
3612  break;
3613 
3614  }
3615 }
void forcePositive(MultidimArray< double > &V)
Definition: filters.cpp:3506
MultidimArray< T > data
Definition: xmipp_image.h:55
double factor
Definition: filters.h:1471
void pixelDesvFilter(MultidimArray< T > &V, double thresFactor)
Definition: filters.h:1378
void boundMedianFilter(MultidimArray< T > &V, const MultidimArray< char > &mask, int n=0)
Definition: filters.h:1309
Image< char > * mask
Definition: filters.h:1472
BadPixelFilterType type
Definition: filters.h:1470

◆ defineParams()

void BadPixelFilter::defineParams ( XmippProgram program)
static

Define the parameters for use inside an Xmipp program

Definition at line 3563 of file filters.cpp.

3564 {
3565  program->addParamsLine("== Bad pixels ==");
3566  program->addParamsLine(
3567  " [ --bad_pixels <type>] : Applied filters on bad pixels of the image.");
3568  program->addParamsLine(" where <type> ");
3569  program->addParamsLine(
3570  " negative : Applied at those negative values. Positive values are untouched.");
3571  program->addParamsLine(
3572  " mask <mask_file> : Applied at those pixels given by mask.");
3573  program->addParamsLine(
3574  " outliers <factor> : Applied at those pixels out of the range [mean - factor*std, mean + factor*std].");
3575  program->addParamsLine(" alias -b; ");
3576 }
void addParamsLine(const String &line)

◆ readParams()

void BadPixelFilter::readParams ( XmippProgram program)
virtual

Read from program command line

Reimplemented from XmippFilter.

Definition at line 3579 of file filters.cpp.

3580 {
3581  type = NEGATIVE;
3582  // Check operation to do
3583  String typeStr = program->getParam("--bad_pixels");
3584  if (typeStr == "negative")
3585  ; //nothing to do type already equal to NEGATIVE
3586  else if (typeStr == "mask")
3587  {
3588  mask = new Image<char>;
3589  mask->read(program->getParam("--bad_pixels", "mask"));
3590  type = MASK;
3591  }
3592  else if (typeStr == "outliers")
3593  {
3594  factor = program->getDoubleParam("--bad_pixels", "outliers");
3595  type = OUTLIER;
3596  }
3597 }
double getDoubleParam(const char *param, int arg=0)
const char * getParam(const char *param, int arg=0)
double factor
Definition: filters.h:1471
Image< char > * mask
Definition: filters.h:1472
std::string String
Definition: xmipp_strings.h:34
BadPixelFilterType type
Definition: filters.h:1470
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false, int mode=WRITE_READONLY)

Member Data Documentation

◆ factor

double BadPixelFilter::factor

Definition at line 1471 of file filters.h.

◆ mask

Image<char>* BadPixelFilter::mask

Definition at line 1472 of file filters.h.

◆ type

BadPixelFilterType BadPixelFilter::type

Definition at line 1470 of file filters.h.


The documentation for this class was generated from the following files: