EMAN2
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
EMAN::nn4_ctfwReconstructor Class Reference

nn4_ctfw Direct Fourier Weighted Inversion Reconstructor More...

#include <reconstructor.h>

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

Public Member Functions

 nn4_ctfwReconstructor ()
 
 nn4_ctfwReconstructor (const string &symmetry, int size, int npad, float snr, int sign, int do_ctf)
 
virtual ~nn4_ctfwReconstructor ()
 
virtual void setup ()
 Initialize the reconstructor. More...
 
virtual int insert_slice (const EMData *const slice, const Transform &euler, const float weight)
 Insert a slice into a 3D volume, in a given orientation. More...
 
virtual EMDatafinish (bool compensate=true)
 Finish reconstruction and return the complete model. More...
 
virtual string get_name () const
 Get the unique name of this class (especially for factory based instantiation access) More...
 
virtual string get_desc () const
 Get a clear, concise description of this class. More...
 
TypeDict get_param_types () const
 
void setup (const string &symmetry, int size, int npad, float snr, int sign, int do_ctf)
 
int insert_padfft_slice_weighted (EMData *padfft, EMData *ctf2d2, vector< float > bckgnoise, const Transform &trans, const float weight)
 
- Public Member Functions inherited from EMAN::Reconstructor
 Reconstructor ()
 
virtual ~Reconstructor ()
 
virtual void setup_seed (EMData *seed, float seed_weight)
 Initialize the reconstructor with a seed volume. More...
 
virtual void setup_seedandweights (EMData *seed, EMData *weight)
 Initialize the reconstructor with a seed volume, as above. More...
 
virtual EMDatapreprocess_slice (const EMData *const slice, const Transform &t=Transform())
 While you can just insert unprocessed slices, if you call preprocess_slice yourself, and insert the returned slice instead, repeatedly, it can save a fair bit of computation. More...
 
int insert_slice (const EMData *const slice, const Transform &euler)
 
virtual int determine_slice_agreement (EMData *slice, const Transform &euler, const float weight=1.0, bool sub=true)
 Compares a slice to the current reconstruction volume and computes a normalization factor and quality. More...
 
virtual EMDataprojection (const Transform &euler, int ret_fourier=1)
 This will create a projection from the current reconstruction. More...
 
virtual void clear ()
 set the volume and tmp_volume data to zero, for use in Monte Carlo reconstructors More...
 
void print_params () const
 Print the current parameters to std::out. More...
 
EMObjectoperator[] (const string &key)
 
- Public Member Functions inherited from EMAN::FactoryBase
 FactoryBase ()
 
virtual ~FactoryBase ()
 
Dict get_params () const
 get a copy of the parameters of this class More...
 
void set_params (const Dict &new_params)
 Set new parameters. More...
 
void set_param (const string key, const EMObject val)
 
void insert_params (const Dict &new_params)
 Insert parameters. More...
 
Dict copy_relevant_params (const FactoryBase *const that) const
 

Static Public Member Functions

static ReconstructorNEW ()
 

Static Public Attributes

static const string NAME = "nn4_ctfw"
 

Private Member Functions

void buildFFTVolume ()
 
void buildNormVolume ()
 

Private Attributes

EMDatam_volume
 
EMDatam_wptr
 
EMDatam_refvol
 
int m_vnx
 
int m_vny
 
int m_vnz
 
int m_vnzp
 
int m_vnyp
 
int m_vnxp
 
int m_vnxc
 
int m_vnyc
 
int m_vnzc
 
int m_npad
 
int m_sign
 
int m_varsnr
 
int m_weighting
 
float m_wghta
 
float m_wghtb
 
float m_snr
 
string m_symmetry
 
int m_nsym
 
int m_do_ctf
 

Additional Inherited Members

- Protected Attributes inherited from EMAN::FactoryBase
Dict params
 This is the dictionary the stores the parameters of the object. More...
 

Detailed Description

nn4_ctfw Direct Fourier Weighted Inversion Reconstructor

Definition at line 1367 of file reconstructor.h.

Constructor & Destructor Documentation

◆ nn4_ctfwReconstructor() [1/2]

nn4_ctfwReconstructor::nn4_ctfwReconstructor ( )

Definition at line 4476 of file reconstructor.cpp.

4477{
4478 m_volume = NULL;
4479 m_wptr = NULL;
4480}

References m_volume, and m_wptr.

Referenced by NEW().

◆ nn4_ctfwReconstructor() [2/2]

nn4_ctfwReconstructor::nn4_ctfwReconstructor ( const string &  symmetry,
int  size,
int  npad,
float  snr,
int  sign,
int  do_ctf 
)

Definition at line 4482 of file reconstructor.cpp.

4483{
4484 setup( symmetry, size, npad, snr, sign, do_ctf );
4485}
virtual void setup()
Initialize the reconstructor.

References setup().

◆ ~nn4_ctfwReconstructor()

nn4_ctfwReconstructor::~nn4_ctfwReconstructor ( )
virtual

Definition at line 4487 of file reconstructor.cpp.

4488{
4490
4491 //if( m_delete_weight ) checked_delete( m_wptr );
4492
4493 //checked_delete( m_result );
4494}

Member Function Documentation

◆ buildFFTVolume()

void nn4_ctfwReconstructor::buildFFTVolume ( )
private

Definition at line 4552 of file reconstructor.cpp.

4552 {
4553 int offset = 2 - m_vnxp%2;
4554
4555 m_volume = params["fftvol"];
4556
4557 if( m_volume->get_xsize() != m_vnxp+offset && m_volume->get_ysize() != m_vnyp && m_volume->get_zsize() != m_vnzp ) {
4558 m_volume->set_size(m_vnxp+offset,m_vnyp,m_vnzp);
4559 m_volume->to_zero();
4560 }
4561
4562 if ( m_vnxp % 2 == 0 ) m_volume->set_fftodd(0);
4563 else m_volume->set_fftodd(1);
4564 m_volume->set_nxc(m_vnxp/2);
4565 m_volume->set_complex(true);
4566 m_volume->set_ri(true);
4567 m_volume->set_fftpad(true);
4568 m_volume->set_attr("npad", m_npad);
4569 m_volume->set_array_offsets(0,1,1);
4570}
Dict params
This is the dictionary the stores the parameters of the object.
Definition: emobject.h:953

References m_npad, m_vnxp, m_vnyp, m_vnzp, m_volume, and EMAN::FactoryBase::params.

Referenced by setup().

◆ buildNormVolume()

void nn4_ctfwReconstructor::buildNormVolume ( )
private

Definition at line 4572 of file reconstructor.cpp.

4573{
4574 m_wptr = params["weight"];
4575
4576 if( m_wptr->get_xsize() != m_vnxc+1 && m_wptr->get_ysize() != m_vnyp && m_wptr->get_zsize() != m_vnzp ) {
4577 m_wptr->set_size(m_vnxc+1,m_vnyp,m_vnzp);
4578 m_wptr->to_zero();
4579 }
4580
4581 m_wptr->set_array_offsets(0,1,1);
4582
4583}

References m_vnxc, m_vnyp, m_vnzp, m_wptr, and EMAN::FactoryBase::params.

Referenced by setup().

◆ finish()

EMData * nn4_ctfwReconstructor::finish ( bool  doift = true)
virtual

Finish reconstruction and return the complete model.

Parameters
doiftA flag indicating whether the returned object should be guaranteed to be in real-space (true) or should be left in whatever space the reconstructor generated
Returns
The result 3D model.

Reimplemented from EMAN::Reconstructor.

Definition at line 4672 of file reconstructor.cpp.

4673{
4674 m_volume->set_array_offsets(0, 1, 1);
4675 m_wptr->set_array_offsets(0, 1, 1);
4676 m_refvol->set_array_offsets(0, 1, 1);
4677 if(m_volume->is_fftodd()) m_volume->symplane0_odd(m_wptr);
4678 else m_volume->symplane0_ctf(m_wptr);
4679 bool do_invert = false;
4680 bool refvol_present = (*m_refvol)(0) > 0.0f ;
4681 /*
4682 int box = 7;
4683 int vol = box*box*box;
4684 int kc = (box-1)/2;
4685 vector< float > pow_a( 3*kc+1, 1.0 );
4686 for( unsigned int i=1; i < pow_a.size(); ++i ) pow_a[i] = pow_a[i-1] * exp(m_wghta);
4687 pow_a[3*kc]=0.0;
4688
4689
4690 float max = max3d( kc, pow_a );
4691 float alpha = ( 1.0f - 1.0f/(float)vol ) / max;
4692 float osnr = 1.0f/m_snr;
4693 */
4694
4695
4696 int ix,iy,iz;
4697 // refvol carries fsc
4698 int limitres = m_vnyc-1;
4699 if( refvol_present ) { // If fsc is set to zero, it will be straightforward reconstruction with snr = 1
4700 for (ix = 0; ix < m_vnyc; ix++) {
4701 //cout<<" fsc "<< m_vnyc-ix-1 <<" "<<m_vnyc<<" "<<(*m_refvol)(m_vnyc-ix-1)<<endl;
4702 if( (*m_refvol)(m_vnyc-ix-1) == 0.0f ) limitres = m_vnyc-ix-2;
4703 }
4704 } else {
4705//cout<<" limitres "<<limitres<<endl;
4706
4707 vector<float> count(m_vnyc+1, 0.0f);
4708 vector<float> sigma2(m_vnyc+1, 0.0f);
4709
4710 // compute sigma2
4711 for (iz = 1; iz <= m_vnzp; iz++) {
4712 int izp = (iz<=m_vnzc) ? iz - 1 : iz-m_vnzp-1;
4713 float argz = float(izp*izp);
4714 for (iy = 1; iy <= m_vnyp; iy++) {
4715 int iyp = (iy<=m_vnyc) ? iy - 1 : iy-m_vnyp-1;
4716 float argy = argz + float(iyp*iyp);
4717 for (ix = 0; ix <= m_vnxc; ix++) {
4718 if(ix>0 || (izp>=0 && (iyp>=0 || izp!=0))) { //Skip Friedel related values
4719 float r = std::sqrt(argy + float(ix*ix));
4720 int ir = int(r);
4721 if (ir <= limitres) {
4722 float frac = r - float(ir);
4723 float qres = 1.0f - frac;
4724 float temp = (*m_wptr)(ix,iy,iz);
4725 //cout<<" WEIGHTS "<<jx<<" "<<jy<<" "<<ir<<" "<<temp<<" "<<frac<<endl;
4726 //cout<<" WEIGHTS "<<ix<<" "<<iy-1<<" "<<iz-1<<" "<<temp<<" "<<endl;
4727 sigma2[ir] += temp*qres;
4728 sigma2[ir+1] += temp*frac;
4729 count[ir] += qres;
4730 count[ir+1] += frac;
4731 }
4732 }
4733 }
4734 }
4735 }
4736 for (ix = 0; ix <= m_vnyc; ix++) {
4737 if( count[ix] > 0.0f ) (*m_refvol)(ix) = sigma2[ix]/count[ix];
4738 //cout<<" sigma2 "<< ix <<" "<<sigma2[ix]<<endl;
4739 }
4740 /*
4741 # This part will have to be done on python level.
4742 float fudge = m_refvol->get_attr("fudge");
4743 // now counter will serve to keep fsc-derived stuff
4744 for (ix = 0; ix <= limitres; ix++) count[ix] = fudge * sigma2[ix] * (1.0f - (*m_refvol)(ix))/(*m_refvol)(ix); //fudge?
4745 count[limitres+1] = count[limitres];
4746 //for (ix = 0; ix <= limitres+1; ix++) cout<<" tau2 "<< ix <<" "<<count[ix]<<endl;
4747 */
4748
4749 }
4750
4751
4752 // normalize
4753 float osnr = 0.0f;
4754 for (iz = 1; iz <= m_vnzp; iz++) {
4755 int izp = (iz<=m_vnzc) ? iz - 1 : iz-m_vnzp-1;
4756 float argz = float(izp*izp);
4757 for (iy = 1; iy <= m_vnyp; iy++) {
4758 int iyp = (iy<=m_vnyc) ? iy - 1 : iy-m_vnyp-1;
4759 float argy = argz + float(iyp*iyp);
4760 for (ix = 0; ix <= m_vnxc; ix++) {
4761 float r = std::sqrt(argy + float(ix*ix));
4762 int ir = int(r);
4763 if (ir <= limitres) {
4764 if ( (*m_wptr)(ix,iy,iz) > 0.0f) {
4765 if( refvol_present) {
4766 float frac = r - float(ir);
4767 float qres = 1.0f - frac;
4768 osnr = qres*(*m_refvol)(ir) + frac*(*m_refvol)(ir+1);
4769 //if(osnr == 0.0f) osnr = 1.0f/(0.001*(*m_wptr)(ix,iy,iz));
4770 //cout<<" "<<iz<<" "<<iy<<" "<<" "<<ix<<" "<<ir<<" "<<(*m_wptr)(ix,iy,iz)<<" "<<osnr<<" "<<(*m_volume)(2*ix,iy,iz)<<" "<<(*m_volume)(2*ix+1,iy,iz)<<endl;
4771 } else osnr = 0.0f;
4772
4773 float tmp = ((*m_wptr)(ix,iy,iz)+osnr);
4774
4775 if(do_invert){
4776 if(tmp>0.0f) {
4777 //cout<<" mvol "<<ix<<" "<<iy<<" "<<iz<<" "<<(*m_volume)(2*ix,iy,iz)<<" "<<(*m_volume)(2*ix+1,iy,iz)<<" "<<tmp<<" "<<osnr<<endl;
4778 (*m_volume)(2*ix,iy,iz) /= tmp;
4779 (*m_volume)(2*ix+1,iy,iz) /= tmp;
4780 } else {
4781 (*m_volume)(2*ix,iy,iz) = 0.0f;
4782 (*m_volume)(2*ix+1,iy,iz) = 0.0f;
4783 }
4784 } else (*m_wptr)(ix,iy,iz) = tmp;
4785 }
4786 } else {
4787 (*m_volume)(2*ix,iy,iz) = 0.0f;
4788 (*m_volume)(2*ix+1,iy,iz) = 0.0f;
4789 }
4790 }
4791 }
4792 }
4793
4794 if(do_invert) {
4795 m_volume->center_origin_fft();
4796 // back fft
4797 m_volume->do_ift_inplace();
4798 int npad = m_volume->get_attr("npad");
4799 m_volume->depad();
4800 if( compensate ) circumftrl( m_volume, npad );
4801 m_volume->set_array_offsets( 0, 0, 0 );
4802 }
4803
4804 return 0;
4805}
EMData * sqrt() const
return square root of current image
void circumftrl(EMData *win, int npad)

References circumftrl(), m_refvol, m_vnxc, m_vnyc, m_vnyp, m_vnzc, m_vnzp, m_volume, m_wptr, and sqrt().

◆ get_desc()

virtual string EMAN::nn4_ctfwReconstructor::get_desc ( ) const
inlinevirtual

Get a clear, concise description of this class.

Returns
a clear, concise description of this class

Implements EMAN::FactoryBase.

Definition at line 1396 of file reconstructor.h.

1397 {
1398 return "Direct Fourier inversion reconstruction routine";
1399 }

◆ get_name()

virtual string EMAN::nn4_ctfwReconstructor::get_name ( ) const
inlinevirtual

Get the unique name of this class (especially for factory based instantiation access)

Returns
the unique name of this class

Implements EMAN::FactoryBase.

Definition at line 1391 of file reconstructor.h.

1392 {
1393 return NAME;
1394 }
static const string NAME

References NAME.

◆ get_param_types()

TypeDict EMAN::nn4_ctfwReconstructor::get_param_types ( ) const
inlinevirtual
Returns
a TypeDict defining and describing the feasible parameters of this class

Implements EMAN::FactoryBase.

Definition at line 1407 of file reconstructor.h.

1408 {
1409 TypeDict d;
1410 d.put("size", EMObject::INT);
1411 d.put("npad", EMObject::INT);
1412 d.put("sign", EMObject::INT);
1413 d.put("symmetry", EMObject::STRING);
1414 d.put("snr", EMObject::FLOAT);
1415 d.put("fftvol", EMObject::EMDATA);
1416 d.put("weight", EMObject::EMDATA);
1417 d.put("refvol", EMObject::EMDATA);
1418 d.put("weighting", EMObject::INT);
1419 d.put("varsnr", EMObject::INT);
1420 d.put("do_ctf", EMObject::INT);
1421 return d;
1422 }

References EMAN::EMObject::EMDATA, EMAN::EMObject::FLOAT, EMAN::EMObject::INT, EMAN::TypeDict::put(), and EMAN::EMObject::STRING.

◆ insert_padfft_slice_weighted()

int nn4_ctfwReconstructor::insert_padfft_slice_weighted ( EMData padfft,
EMData ctf2d2,
vector< float >  bckgnoise,
const Transform trans,
const float  weight 
)

Definition at line 4649 of file reconstructor.cpp.

4650{
4651 Assert( padfft != NULL );
4652
4653 vector<float> abc_list;
4654 int abc_list_len = 0;
4655 if (m_volume->has_attr("smear")) {
4656 abc_list = m_volume->get_attr("smear");
4657 abc_list_len = abc_list.size();
4658 }
4659
4660 vector<Transform> tsym = t.get_sym_proj(m_symmetry);
4661 for (unsigned int isym=0; isym < tsym.size(); isym++) {
4662 if (abc_list_len == 0)
4663 m_volume->nn_ctfw(m_wptr, padfft, ctf2d2, m_npad, bckgnoise, tsym[isym], weight);
4664 else
4665 for (int i = 0; i < abc_list_len; i += 4)
4666 m_volume->nn_ctfw(m_wptr, padfft, ctf2d2, m_npad, bckgnoise, tsym[isym] * Transform(Dict("type", "SPIDER", "phi", abc_list[i], "theta", abc_list[i+1], "psi", abc_list[i+2])), weight * abc_list[i+3]);
4667 }
4668 return 0;
4669}
Dict is a dictionary to store <string, EMObject> pair.
Definition: emobject.h:385
A Transform object is a somewhat specialized object designed specifically for EMAN2/Sparx storage of ...
Definition: transform.h:75
#define Assert(s)
Define Assert() function that is effective only when -DDEBUG is used.
Definition: emassert.h:42

References Assert, EMAN::Transform::get_sym_proj(), m_npad, m_symmetry, m_volume, and m_wptr.

Referenced by insert_slice().

◆ insert_slice()

int nn4_ctfwReconstructor::insert_slice ( const EMData *const  slice,
const Transform euler,
const float  weight 
)
virtual

Insert a slice into a 3D volume, in a given orientation.

Returns
0 if successful, 1 otherwise
Parameters
slicethe image slice to be inserted into the 3D volume
eulerEuler angle of this image slice.
weightA weighting factor for this slice, generally the number of particles in a class-average. May be ignored by some reconstructors
Returns
0 if OK. 1 if error.
Exceptions
NullPointerExceptionif the input EMData pointer is null
ImageFormatExceptionif the image is complex as opposed to real

Reimplemented from EMAN::Reconstructor.

Definition at line 4585 of file reconstructor.cpp.

4586{
4587 // sanity checks
4588 if (!slice) {
4589 LOGERR("try to insert NULL slice");
4590 return 1;
4591 }
4592 if(weight >0.0f) {
4593 /*
4594 int buffed = slice->get_attr_default( "buffed", 0 );
4595 if( buffed > 0 ) {
4596 insert_buffed_slice( slice, weight );
4597 return 0;
4598 }
4599 */
4600
4601 EMData* padfft = padfft_slice( slice, t, m_npad );
4602
4603 EMData* ctf2d = NULL;
4604 if( m_do_ctf == 1 ) {
4605 float tmp = padfft->get_attr_default("ctf_applied", 0);
4606 int ctf_applied = (int) tmp;
4607
4608 // Generate 2D CTF (EMData object)
4609 //ctf_store_real::init( padfft->get_ysize(), padfft->get_attr( "ctf" ) );
4610 int winsize = padfft->get_ysize();
4611 Ctf* ctf = padfft->get_attr( "ctf" );
4612 Dict params = ctf->to_dict();
4613 ctf2d = Util::ctf_img_real(winsize , winsize, 1, params["defocus"], params["apix"],params["voltage"], params["cs"], \
4614 params["ampcont"], params["bfactor"], params["dfdiff"], params["dfang"], 1);
4615 params.clear();
4616 if(ctf) {delete ctf; ctf=0;}
4617 //ctf2d = ctf_store_real::get_ctf_real(); //This is in 2D projection plane
4618 int nx=ctf2d->get_xsize(),ny=ctf2d->get_ysize(),nz=ctf2d->get_zsize();
4619 float *ctf2d_ptr = ctf2d->get_data();
4620
4621 size_t size = (size_t)nx*ny*nz;
4622 if (!ctf_applied) {
4623 for (int i = 0; i < size; ++i) padfft->cmplx(i) *= ctf2d_ptr[i]; // Multiply padfft by CTF
4624 }
4625
4626 for (int i = 0; i < size; ++i) ctf2d_ptr[i] *= ctf2d_ptr[i]; // Squared 2D CTF
4627 } else {
4628 int nx=padfft->get_xsize(),ny=padfft->get_ysize(),nz=padfft->get_zsize();
4629 ctf2d = new EMData();
4630 ctf2d->set_size(nx/2,ny,nz);
4631 float *ctf2d_ptr = ctf2d->get_data();
4632 size_t size = (size_t)nx*ny*nz/2;
4633 for (int i = 0; i < size; ++i) ctf2d_ptr[i] = 1.0;
4634 }
4635
4636 vector<float> bckgnoise;
4637 bckgnoise = slice->get_attr("bckgnoise");
4638
4639 insert_padfft_slice_weighted(padfft, ctf2d, bckgnoise, t, weight);
4640
4641 checked_delete( ctf2d );
4642 checked_delete( padfft );
4643 bckgnoise.clear();
4644
4645 }
4646 return 0;
4647}
Ctf is the base class for all CTF model.
Definition: ctf.h:60
virtual Dict to_dict() const =0
void clear()
Clear all keys wraps map.clear()
Definition: emobject.h:560
EMData stores an image's data and defines core image processing routines.
Definition: emdata.h:82
int insert_padfft_slice_weighted(EMData *padfft, EMData *ctf2d2, vector< float > bckgnoise, const Transform &trans, const float weight)
#define LOGERR
Definition: log.h:51
EMData * padfft_slice(const EMData *const slice, const Transform &t, int npad)
Direct Fourier inversion Reconstructor.
void checked_delete(T *&x)

References checked_delete(), EMAN::Dict::clear(), insert_padfft_slice_weighted(), LOGERR, m_do_ctf, m_npad, EMAN::padfft_slice(), EMAN::FactoryBase::params, and EMAN::Ctf::to_dict().

◆ NEW()

static Reconstructor * EMAN::nn4_ctfwReconstructor::NEW ( )
inlinestatic

Definition at line 1401 of file reconstructor.h.

1402 {
1403 return new nn4_ctfwReconstructor();
1404 }

References nn4_ctfwReconstructor().

◆ setup() [1/2]

void nn4_ctfwReconstructor::setup ( )
virtual

Initialize the reconstructor.

Implements EMAN::Reconstructor.

Definition at line 4496 of file reconstructor.cpp.

4497{
4498 if( ! params.has_key("size") ) throw std::logic_error("Error: image size is not given");
4499
4500 int size = params["size"];
4501 int npad = params.has_key("npad") ? int(params["npad"]) : 2;
4502 // int sign = params.has_key("sign") ? int(params["sign"]) : 1;
4503 int sign = 1;
4504 string symmetry = params.has_key("symmetry")? params["symmetry"].to_str() : "c1";
4505
4506 float snr = params["snr"];
4507 int do_ctf = params["do_ctf"];
4508
4509 setup( symmetry, size, npad, snr, sign, do_ctf );
4510
4511}
bool has_key(const string &key) const
Ask the Dictionary if it as a particular key.
Definition: emobject.h:511

References EMAN::Dict::has_key(), EMAN::FactoryBase::params, and setup().

Referenced by nn4_ctfwReconstructor(), and setup().

◆ setup() [2/2]

void nn4_ctfwReconstructor::setup ( const string &  symmetry,
int  size,
int  npad,
float  snr,
int  sign,
int  do_ctf 
)

Definition at line 4513 of file reconstructor.cpp.

4514{
4516 if( params.has_key("weighting") ) {
4517 if( int( params["weighting"])==0 ) m_weighting = NONE;
4518 }
4519
4520 m_wghta = 0.2f;
4521 m_wghtb = 0.004f;
4522
4523 m_symmetry = symmetry;
4524 m_npad = npad;
4525 m_sign = sign;
4527 m_do_ctf = do_ctf;
4528
4529 m_snr = snr;
4530
4531 m_vnx = size;
4532 m_vny = size;
4533 m_vnz = size;
4534
4535 //m_vnxp = size*npad;
4536 //m_vnyp = size*npad;
4537 //m_vnzp = size*npad;
4538 m_vnxp = size;
4539 m_vnyp = size;
4540 m_vnzp = size;
4541
4542 m_vnxc = m_vnxp/2;
4543 m_vnyc = m_vnyp/2;
4544 m_vnzc = m_vnzp/2;
4545
4548 m_refvol = params["refvol"];
4549
4550}
static int get_nsym(const string &sym)
get the number of symmetries associated with the given symmetry name
Definition: transform.cpp:1570
@ ESTIMATE
@ NONE

References buildFFTVolume(), buildNormVolume(), ESTIMATE, EMAN::Transform::get_nsym(), EMAN::Dict::has_key(), m_do_ctf, m_npad, m_nsym, m_refvol, m_sign, m_snr, m_symmetry, m_vnx, m_vnxc, m_vnxp, m_vny, m_vnyc, m_vnyp, m_vnz, m_vnzc, m_vnzp, m_weighting, m_wghta, m_wghtb, NONE, and EMAN::FactoryBase::params.

Member Data Documentation

◆ m_do_ctf

int EMAN::nn4_ctfwReconstructor::m_do_ctf
private

Definition at line 1448 of file reconstructor.h.

Referenced by insert_slice(), and setup().

◆ m_npad

int EMAN::nn4_ctfwReconstructor::m_npad
private

◆ m_nsym

int EMAN::nn4_ctfwReconstructor::m_nsym
private

Definition at line 1447 of file reconstructor.h.

Referenced by setup().

◆ m_refvol

EMData* EMAN::nn4_ctfwReconstructor::m_refvol
private

Definition at line 1436 of file reconstructor.h.

Referenced by finish(), and setup().

◆ m_sign

int EMAN::nn4_ctfwReconstructor::m_sign
private

Definition at line 1441 of file reconstructor.h.

Referenced by setup().

◆ m_snr

float EMAN::nn4_ctfwReconstructor::m_snr
private

Definition at line 1445 of file reconstructor.h.

Referenced by setup().

◆ m_symmetry

string EMAN::nn4_ctfwReconstructor::m_symmetry
private

Definition at line 1446 of file reconstructor.h.

Referenced by insert_padfft_slice_weighted(), and setup().

◆ m_varsnr

int EMAN::nn4_ctfwReconstructor::m_varsnr
private

Definition at line 1442 of file reconstructor.h.

◆ m_vnx

int EMAN::nn4_ctfwReconstructor::m_vnx
private

Definition at line 1437 of file reconstructor.h.

Referenced by setup().

◆ m_vnxc

int EMAN::nn4_ctfwReconstructor::m_vnxc
private

Definition at line 1439 of file reconstructor.h.

Referenced by buildNormVolume(), finish(), and setup().

◆ m_vnxp

int EMAN::nn4_ctfwReconstructor::m_vnxp
private

Definition at line 1438 of file reconstructor.h.

Referenced by buildFFTVolume(), and setup().

◆ m_vny

int EMAN::nn4_ctfwReconstructor::m_vny
private

Definition at line 1437 of file reconstructor.h.

Referenced by setup().

◆ m_vnyc

int EMAN::nn4_ctfwReconstructor::m_vnyc
private

Definition at line 1439 of file reconstructor.h.

Referenced by finish(), and setup().

◆ m_vnyp

int EMAN::nn4_ctfwReconstructor::m_vnyp
private

Definition at line 1438 of file reconstructor.h.

Referenced by buildFFTVolume(), buildNormVolume(), finish(), and setup().

◆ m_vnz

int EMAN::nn4_ctfwReconstructor::m_vnz
private

Definition at line 1437 of file reconstructor.h.

Referenced by setup().

◆ m_vnzc

int EMAN::nn4_ctfwReconstructor::m_vnzc
private

Definition at line 1439 of file reconstructor.h.

Referenced by finish(), and setup().

◆ m_vnzp

int EMAN::nn4_ctfwReconstructor::m_vnzp
private

Definition at line 1438 of file reconstructor.h.

Referenced by buildFFTVolume(), buildNormVolume(), finish(), and setup().

◆ m_volume

EMData* EMAN::nn4_ctfwReconstructor::m_volume
private

◆ m_weighting

int EMAN::nn4_ctfwReconstructor::m_weighting
private

Definition at line 1443 of file reconstructor.h.

Referenced by setup().

◆ m_wghta

float EMAN::nn4_ctfwReconstructor::m_wghta
private

Definition at line 1444 of file reconstructor.h.

Referenced by setup().

◆ m_wghtb

float EMAN::nn4_ctfwReconstructor::m_wghtb
private

Definition at line 1444 of file reconstructor.h.

Referenced by setup().

◆ m_wptr

EMData* EMAN::nn4_ctfwReconstructor::m_wptr
private

◆ NAME

const string nn4_ctfwReconstructor::NAME = "nn4_ctfw"
static

Definition at line 1431 of file reconstructor.h.

Referenced by get_name().


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