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

EMAN::SetSFProcessor Class Reference

Sets the structure factor based on a 1D s/intensity curve as an XYData object. More...

#include <processor.h>

Inheritance diagram for EMAN::SetSFProcessor:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual string get_name () const
 Get the processor's name.
virtual string get_desc () const
 Get the descrition of this specific processor.
virtual TypeDict get_param_types () const
 Get processor parameter information in a dictionary.

Static Public Member Functions

ProcessorNEW ()

Static Public Attributes

const string NAME = "filter.setstrucfac"

Protected Member Functions

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

Detailed Description

Sets the structure factor based on a 1D s/intensity curve as an XYData object.

Parameters:
strucfac XYData object with the curve to be imposed as intensity as a function of s
apix A/pix value. Overrides and replaces apix_x/y/z in image

Definition at line 5745 of file processor.h.


Member Function Documentation

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

Implements EMAN::FourierAnlProcessor.

Definition at line 6305 of file processor.cpp.

References EMAN::EMData::get_attr(), EMAN::XYData::get_yatx(), EMAN::Dict::has_key(), EMAN::EMData::set_attr(), and sqrt().

06305                                                                                         {
06306         // The radial mask comes in with the existing radial image profile
06307         // The radial mask runs from 0 to the 1-D Nyquist (it leaves out the corners in Fourier space)
06308 
06309         XYData *sf = params["strucfac"];
06310         if(params.has_key("apix")) {
06311                 image->set_attr("apix_x", (float)params["apix"]);
06312                 image->set_attr("apix_y", (float)params["apix"]);
06313                 image->set_attr("apix_z", (float)params["apix"]);
06314         }
06315 
06316         float apix=image->get_attr("apix_x");
06317         
06318         int n = radial_mask.size();
06319         for (int i=0; i<n; i++) {
06320 //              if (radial_mask[i]>0)
06321 //              {
06322 //                      radial_mask[i]= sqrt(n*sf->get_yatx(i/(apix*2.0f*n),false)/radial_mask[i]);
06323 //              }
06324                 if (radial_mask[i]>0) {
06325                         radial_mask[i]= sqrt((n*n*n)*sf->get_yatx(i/(apix*2.0f*n))/radial_mask[i]);
06326                 }
06327                 else if (i>0) radial_mask[i]=radial_mask[i-1];
06328         }
06329 
06330 }

virtual string EMAN::SetSFProcessor::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 5754 of file processor.h.

05755                 {
05756                         return "Filters the image so its 1-D power spectrum matches a supplied X-Y curve";
05757                 }

virtual string EMAN::SetSFProcessor::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 5749 of file processor.h.

05750                 {
05751                         return NAME;
05752                 }

virtual TypeDict EMAN::SetSFProcessor::get_param_types  )  const [inline, virtual]
 

Get processor parameter information in a dictionary.

Each parameter has one record in the dictionary. Each record contains its name, data-type, and description.

Returns:
A dictionary containing the parameter info.

Reimplemented from EMAN::FourierAnlProcessor.

Definition at line 5764 of file processor.h.

References EMAN::TypeDict::put().

05765                 {
05766                         TypeDict d;
05767                         d.put("strucfac", EMObject::XYDATA, "An XYData object contaning the curve to be imposed as a function of S");
05768                         d.put("apix", EMObject::FLOAT, " Override A/pix in the image header (changes x,y and z)");
05769                         return d;
05770                 }

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

Definition at line 5759 of file processor.h.

05760                 {
05761                         return new SetSFProcessor();
05762                 }


Member Data Documentation

const string SetSFProcessor::NAME = "filter.setstrucfac" [static]
 

Definition at line 187 of file processor.cpp.


The documentation for this class was generated from the following files:
Generated on Fri Aug 10 16:38:06 2012 for EMAN2 by  doxygen 1.3.9.1