Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

EMAN::HighpassAutoPeakProcessor Class Reference

This processor attempts to remove the low resolution peak present in all cryoEM data. More...

#include <processor.h>

Inheritance diagram for EMAN::HighpassAutoPeakProcessor:

Inheritance graph
[legend]
Collaboration diagram for EMAN::HighpassAutoPeakProcessor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

string get_name () const
 Get the processor's name.
string get_desc () const
 Get the descrition of this specific processor.

Static Public Member Functions

ProcessorNEW ()

Static Public Attributes

const string NAME = "filter.highpass.autopeak"

Protected Member Functions

void create_radial_func (vector< float > &radial_mask, EMData *image) const
virtual void preprocess (EMData *image)

Protected Attributes

float highpass

Detailed Description

This processor attempts to remove the low resolution peak present in all cryoEM data.

Definition at line 894 of file processor.h.


Member Function Documentation

void HighpassAutoPeakProcessor::create_radial_func vector< float > &  radial_mask,
EMData image
const [protected, virtual]
 

Implements EMAN::FourierAnlProcessor.

Definition at line 1198 of file processor.cpp.

References highpass.

01199 {
01200         unsigned int c;
01201 
01202 //      for (unsigned int i=0; i<radial_mask.size(); i++) printf("%d\t%f\n",i,radial_mask[i]);
01203         for (c=2; c<radial_mask.size(); c++) if (radial_mask[c-1]<=radial_mask[c]) break;
01204         if (c>highpass) c=(unsigned int)highpass;               // the *2 is for the 2x oversampling
01205 
01206         radial_mask[0]=0.0;
01207 //      for (int i=1; i<radial_mask.size(); i++) radial_mask[i]=(i<=c?radial_mask[c+1]/radial_mask[i]:1.0);
01208         for (unsigned int i=1; i<radial_mask.size(); i++) radial_mask[i]=(i<=c?0.0f:1.0f);
01209 
01210         printf("%f %d\n",highpass,c);
01211 //      for (unsigned int i=0; i<radial_mask.size(); i++) printf("%d\t%f\n",i,radial_mask[i]);
01212 
01213 }

string EMAN::HighpassAutoPeakProcessor::get_desc  )  const [inline, virtual]
 

Get the descrition of this specific processor.

This function must be overwritten by a subclass.

Returns:
The description of this processor.

Implements EMAN::Processor.

Definition at line 906 of file processor.h.

00907                 {
00908                         return "Attempts to automatically remove the low resolution peak present in virtually all cryoEM data.";
00909                 }

string EMAN::HighpassAutoPeakProcessor::get_name  )  const [inline, virtual]
 

Get the processor's name.

Each processor is identified by a unique name.

Returns:
The processor's name.

Implements EMAN::Processor.

Definition at line 897 of file processor.h.

00898                 {
00899                         return NAME;
00900                 }

Processor* EMAN::HighpassAutoPeakProcessor::NEW  )  [inline, static]
 

Definition at line 901 of file processor.h.

00902                 {
00903                         return new HighpassAutoPeakProcessor();
00904                 }

void HighpassAutoPeakProcessor::preprocess EMData image  )  [protected, virtual]
 

Reimplemented from EMAN::FourierAnlProcessor.

Definition at line 1177 of file processor.cpp.

References EMAN::EMData::get_attr_dict(), EMAN::Dict::has_key(), highpass, and EMAN::EMData::set_attr().

01178 {
01179         if(params.has_key("apix")) {
01180                 image->set_attr("apix_x", (float)params["apix"]);
01181                 image->set_attr("apix_y", (float)params["apix"]);
01182                 image->set_attr("apix_z", (float)params["apix"]);
01183         }
01184 
01185         const Dict dict = image->get_attr_dict();
01186 
01187         if( params.has_key("cutoff_abs") ) {
01188                 highpass = params["cutoff_abs"];
01189         }
01190         else if( params.has_key("cutoff_freq") ) {
01191                 highpass = (float)params["cutoff_freq"] * (float)dict["apix_x"] * (float)dict["nx"] / 2.0f;
01192         }
01193         else if( params.has_key("cutoff_pixels") ) {
01194                 highpass = (float)params["cutoff_pixels"] / (float)dict["nx"];
01195         }
01196 }


Member Data Documentation

float EMAN::HighpassAutoPeakProcessor::highpass [protected]
 

Definition at line 916 of file processor.h.

Referenced by create_radial_func(), and preprocess().

const string HighpassAutoPeakProcessor::NAME = "filter.highpass.autopeak" [static]
 

Definition at line 71 of file processor.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Mar 10 22:59:42 2011 for EMAN2 by  doxygen 1.3.9.1