Xmipp  v3.23.11-Nereus
Classes | Functions
Collaboration diagram for Filter Operation:

Classes

class  ProgFilter
 

Functions

void ProgFilter::defineParams ()
 
void ProgFilter::readParams ()
 
void ProgFilter::preProcess ()
 
void ProgFilter::processImage (const FileName &fnImg, const FileName &fnImgOut, const MDRow &rowIn, MDRow &rowOut)
 
 ProgFilter::ProgFilter ()
 
 ProgFilter::~ProgFilter ()
 

Detailed Description

Function Documentation

◆ defineParams()

void ProgFilter::defineParams ( )
protectedvirtual

Function in which the param of each Program are defined.

Reimplemented from XmippMetadataProgram.

Reimplemented in BasicMpiMetadataProgram< ProgFilter >.

Definition at line 38 of file program_filter.cpp.

39 {
41  addUsageLine("Apply different type of filters to images or volumes.");
55 
56  //examples
57  addExampleLine("Filter a volume using a mask =volumeMask.vol= to remove bad pixels:", false);
58  addExampleLine("xmipp_transform_filter -i volume.vol -o volumeFiltered1.vol --bad_pixels mask volumeMask.vol");
59  addExampleLine("Remove extreme pixels:", false);
60  addExampleLine("xmipp_transform_filter -i volume.vol -o volumeFiltered2.vol --bad_pixels outliers 0.5");
61  addExampleLine("Apply a Fourier filter on a volume:", false);
62  addExampleLine("xmipp_transform_filter -i volume.vol -o volumeFiltered.vol --fourier low_pass 0.05");
63  addExampleLine("xmipp_transform_filter -i volume.vol -o volumeFiltered.vol -f band_pass 0.1 0.3");
64  addExampleLine("xmipp_transform_filter -i image.ser -o imageFiltered.xmp --background plane");
65  addExampleLine("xmipp_transform_filter -i smallStack.stk -o smallFiltered.stk -w DAUB12 difussion");
66  addExampleLine("Filter a volume using a wedge mask rotated 10 degress",false);
67  addExampleLine("xmipp_transform_filter --fourier wedge -60 60 0 0 10 -i ico.spi -o kk0.spi --verbose");
68  addExampleLine("Save filtering mask (do not filter)",false);
69  addExampleLine("xmipp_transform_filter --fourier wedge -60 60 0 0 10 -i ico.spi -o kk0.spi --verbose --save mask.spi");
70  addExampleLine("Preprocess image optained in the nikon coolscan",false);
71  addExampleLine("xmipp_transform_filter --log -i ico.spi -o kk0.spi --fa 4.431 --fb 0.4018 --fc 336.6");
72  addExampleLine("xmipp_transform_filter -i Falcon_2014_07_16-16_32_43_0.mrcs --denoiseTV 50");
73 }
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3640
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3725
static void defineParams(XmippProgram *program)
Definition: denoise.cpp:49
static void defineParams(XmippProgram *program)
static void defineParams(XmippProgram *program)
Definition: mean_shift.cpp:288
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3563
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3704
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3617
void addExampleLine(const char *example, bool verbatim=true)
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3660
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3788
bool each_image_produces_an_output
Indicate that an output is produced for each image in the input.
void addUsageLine(const char *line, bool verbatim=false)
static void defineParams(XmippProgram *program)
Definition: filters.cpp:3835
static void defineParams(XmippProgram *program)

◆ preProcess()

void ProgFilter::preProcess ( )
protectedvirtual

Reimplemented from XmippMetadataProgram.

Reimplemented in BasicMpiMetadataProgram< ProgFilter >.

Definition at line 115 of file program_filter.cpp.

116 {
117  if (verbose)
118  filter->show();
119 }
virtual void show()
Definition: filters.h:1456
int verbose
Verbosity level.

◆ processImage()

void ProgFilter::processImage ( const FileName fnImg,
const FileName fnImgOut,
const MDRow rowIn,
MDRow rowOut 
)
protectedvirtual

Implements XmippMetadataProgram.

Definition at line 121 of file program_filter.cpp.

122 {
123  m_img.read(fnImg);
124  if (readCTF)
125  {
126  ((FourierFilter *)filter)->ctf.readFromMdRow(rowIn);
127  ((FourierFilter *)filter)->ctf.produceSideInfo();
128  ((FourierFilter *)filter)->generateMask(m_img());
129  }
130  filter->apply(m_img());
131  m_img.write(fnImgOut);
132 }
virtual void apply(MultidimArray< double > &img)=0
void write(const FileName &name="", size_t select_img=ALL_IMAGES, bool isStack=false, int mode=WRITE_OVERWRITE, CastWriteMode castMode=CW_CAST, int _swapWrite=0)
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false, int mode=WRITE_READONLY)

◆ ProgFilter()

ProgFilter::ProgFilter ( )

Definition at line 32 of file program_filter.cpp.

32 {}

◆ readParams()

void ProgFilter::readParams ( )
protectedvirtual

Function in which each program will read parameters that it need. If some error occurs the usage will be printed out.

Reimplemented from XmippMetadataProgram.

Reimplemented in BasicMpiMetadataProgram< ProgFilter >.

Definition at line 75 of file program_filter.cpp.

76 {
77  readCTF=false;
79 
80  if (checkParam("--fourier"))
81  {
82  filter = new FourierFilter();
83  String filterType=getParam("--fourier");
84  if (filterType=="astigmatism")
85  readCTF=true;
86  }
87  else if (checkParam("--wavelet"))
88  filter = new WaveletFilter();
89  else if (checkParam("--bad_pixels"))
90  filter = new BadPixelFilter();
91  else if (checkParam("--mean_shift"))
92  filter = new MeanShiftFilter();
93  else if (checkParam("--background"))
94  filter = new BackgroundFilter();
95  else if (checkParam("--median"))
96  filter = new MedianFilter();
97  else if (checkParam("--diffusion"))
98  filter = new DiffusionFilter();
99  else if (checkParam("--basis"))
100  filter = new BasisFilter();
101  else if (checkParam("--log"))
102  filter = new LogFilter();
103  else if (checkParam("--retinex"))
104  filter = new RetinexFilter();
105  else if (checkParam("--denoiseTV"))
106  filter = new DenoiseTVFilter();
107  else if (checkParam("--softnegative"))
108  filter = new SoftNegativeFilter();
109  else
110  REPORT_ERROR(ERR_ARG_MISSING, "You should provide some filter");
111  //Read params
112  filter->readParams(this);
113 }
Argument missing.
Definition: xmipp_error.h:114
#define REPORT_ERROR(nerr, ErrormMsg)
Definition: xmipp_error.h:211
virtual void readParams(XmippProgram *program)
Definition: filters.h:1445
const char * getParam(const char *param, int arg=0)
std::string String
Definition: xmipp_strings.h:34
bool checkParam(const char *param)

◆ ~ProgFilter()

ProgFilter::~ProgFilter ( )

Definition at line 34 of file program_filter.cpp.

34  {
35  delete filter;
36 }