#include <reconstructor_tools.h>
Inheritance diagram for EMAN::FourierInserter3DMode8:


Public Member Functions | |
| FourierInserter3DMode8 () | |
| virtual | ~FourierInserter3DMode8 () |
| virtual bool | insert_pixel (const float &xx, const float &yy, const float &zz, const std::complex< float > dt, const float &weight=1.0) |
| Insert a complex pixel [dt[0]+dt[1]i] at (float) coordinate [xx,yy,zz] with weighting into a discrete 3D volume. | |
| virtual string | get_name () const |
| Get the unique name of this class (especially for factory based instantiation access). | |
| virtual string | get_desc () const |
| Get a clear, concise description of this class. | |
| virtual void | init () |
Static Public Member Functions | |
| FourierPixelInserter3D * | NEW () |
Static Public Attributes | |
| const string | NAME = "experimental" |
Private Member Functions | |
| FourierInserter3DMode8 (const FourierInserter3DMode8 &) | |
| FourierInserter3DMode8 & | operator= (const FourierInserter3DMode8 &) |
Private Attributes | |
| int | mFreqCutoff |
| float | mDFreq |
| float * | W |
Definition at line 375 of file reconstructor_tools.h.
|
|
Definition at line 378 of file reconstructor_tools.h. References W. 00378 : W(0) 00379 { 00380 00381 }
|
|
|
Definition at line 382 of file reconstructor_tools.h. References W. 00383 {
00384 if ( W != 0 )
00385 delete [] W;
00386 }
|
|
|
|
|
|
Get a clear, concise description of this class.
Implements EMAN::FactoryBase. Definition at line 400 of file reconstructor_tools.h. 00401 {
00402 return "Fourier pixel insertion mode 8";
00403 }
|
|
|
Get the unique name of this class (especially for factory based instantiation access).
Implements EMAN::FactoryBase. Definition at line 395 of file reconstructor_tools.h. 00396 {
00397 return NAME;
00398 }
|
|
|
Reimplemented from EMAN::FourierPixelInserter3D. Definition at line 379 of file reconstructor_tools.cpp. References EMAN::Util::getBaldwinGridWeights(), EMAN::FourierPixelInserter3D::init(), mDFreq, mFreqCutoff, and W. 00380 {
00381 FourierPixelInserter3D::init();
00382 int P = (int)((1.0+0.25)*nx+1);
00383 float r = (float)(nx+1)/(float)P;
00384 mFreqCutoff = 2;
00385 mDFreq = 0.2f;
00386 if (W != 0) delete [] W;
00387 W = Util::getBaldwinGridWeights(mFreqCutoff, (float)P, r,mDFreq,0.5f,0.2f);
00388
00389 }
|
|
||||||||||||||||||||||||
|
Insert a complex pixel [dt[0]+dt[1]i] at (float) coordinate [xx,yy,zz] with weighting into a discrete 3D volume.
Implements EMAN::FourierPixelInserter3D. Definition at line 390 of file reconstructor_tools.cpp. 00391 {
00392 // int x0 = (int) floor(qx);
00393 // int y0 = (int) floor(qy);
00394 // int z0 = (int) floor(qz);
00395
00396 // int sizeW = (int)(1+2*mFreqCutoff/mDFreq);
00397 // int sizeWmid = sizeW/2;
00398
00399 // for (int z = z0-mFreqCutoff; z < z0+mFreqCutoff; ++z){
00400 // for (int y = y0-mFreqCutoff; y < y0+mFreqCutoff; ++y){
00401 // for (int x = x0-mFreqCutoff; x < x0+mFreqCutoff; ++x){
00402 // if ( x < 0 || x >= nx ) continue;
00403 // if ( y < 0 || y >= ny ) continue;
00404 // if ( z < 0 || z >= nz ) continue;
00405 // float dist = (float)((x-x0)*(x-x0)+(y-y0)*(y-y0)+(z-z0)*(z-z0));
00406 // dist = sqrtf(dist);
00407 // // We enforce a spherical kernel
00408 // if ( dist > mFreqCutoff ) continue;
00409 // int idx = (int)(sizeWmid + dist/mDFreq);
00410 // if (idx >= sizeW) throw;
00411 // float residual = dist/mDFreq - (int)(dist/mDFreq);
00412 // if ( fabs(residual) > 1) throw;
00413 //
00414 // float factor = W[idx]*(1.0f-residual)+W[idx+1]*residual*weight;
00415 //
00416 // size_t k = z*nx*ny + y*nx + 2*x;
00417 //
00418 // // float c = Util::agauss(1, x-x0,y-y0,z-z0, EMConsts::I2G);
00419 // rdata[k] += fq[0]*factor;
00420 // rdata[k+1] += fq[1]*factor;
00421 //
00422 //
00423 // norm[k/2] += weight;
00424 //
00425 // }
00426 // }
00427 // }
00428
00429 return true;
00430 }
|
|
|
Definition at line 390 of file reconstructor_tools.h. 00391 {
00392 return new FourierInserter3DMode8();
00393 }
|
|
|
|
|
|
Definition at line 411 of file reconstructor_tools.h. Referenced by init(). |
|
|
Definition at line 410 of file reconstructor_tools.h. Referenced by init(). |
|
|
Definition at line 48 of file reconstructor_tools.cpp. |
|
|
Definition at line 416 of file reconstructor_tools.h. Referenced by init(). |
1.3.9.1