#include <processor.h>
Inheritance diagram for EMAN::SetSFProcessor:


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 | |
| Processor * | NEW () |
Static Public Attributes | |
| const string | NAME = "filter.setstrucfac" |
Protected Member Functions | |
| void | create_radial_func (vector< float > &radial_mask, EMData *image) const |
| 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 5667 of file processor.h.
|
||||||||||||
|
Implements EMAN::FourierAnlProcessor. Definition at line 6143 of file processor.cpp. References EMAN::EMData::get_attr(), EMAN::XYData::get_yatx(), EMAN::Dict::has_key(), EMAN::EMData::set_attr(), and sqrt(). 06143 {
06144 // The radial mask comes in with the existing radial image profile
06145 // The radial mask runs from 0 to the 1-D Nyquist (it leaves out the corners in Fourier space)
06146
06147 XYData *sf = params["strucfac"];
06148 if(params.has_key("apix")) {
06149 image->set_attr("apix_x", (float)params["apix"]);
06150 image->set_attr("apix_y", (float)params["apix"]);
06151 image->set_attr("apix_z", (float)params["apix"]);
06152 }
06153
06154 float apix=image->get_attr("apix_x");
06155
06156 int n = radial_mask.size();
06157 for (int i=0; i<n; i++) {
06158 if (radial_mask[i]>0) radial_mask[i]= n*n*n*sqrt(sf->get_yatx(i/(apix*2.0f*n),false)/radial_mask[i]);
06159 else if (i>0) radial_mask[i]=radial_mask[i-1];
06160 }
06161
06162 }
|
|
|
Get the descrition of this specific processor. This function must be overwritten by a subclass.
Implements EMAN::Processor. Definition at line 5676 of file processor.h. 05677 {
05678 return "Filters the image so its 1-D power spectrum matches a supplied X-Y curve";
05679 }
|
|
|
Get the processor's name. Each processor is identified by a unique name.
Implements EMAN::Processor. Definition at line 5671 of file processor.h. 05672 {
05673 return NAME;
05674 }
|
|
|
Get processor parameter information in a dictionary. Each parameter has one record in the dictionary. Each record contains its name, data-type, and description.
Reimplemented from EMAN::FourierAnlProcessor. Definition at line 5686 of file processor.h. References EMAN::TypeDict::put(). 05687 {
05688 TypeDict d;
05689 d.put("strucfac", EMObject::XYDATA, "An XYData object contaning the curve to be imposed as a function of S");
05690 d.put("apix", EMObject::FLOAT, " Override A/pix in the image header (changes x,y and z)");
05691 return d;
05692 }
|
|
|
Definition at line 5681 of file processor.h. 05682 {
05683 return new SetSFProcessor();
05684 }
|
|
|
Definition at line 192 of file processor.cpp. |
1.3.9.1