Walkthrough on adaptive bandpass filtering

From Dynamo
Revision as of 17:53, 27 November 2017 by Daniel Castaño (talk | contribs)
Jump to navigation Jump to search

The adaptive bandpass filtering technique encompasses two elements:

  • independent refinement of two half sets of the data
  • dynamic computation of the low pass filter at each iteration

Creating a test data set

dtutorial ttest2 -M 50 -noise 0.2 -tight 1 -template ribosome32.em -dshift 0

We can check the produced images:

 dslices ttest2/data -jz 0 -labels 1
Tutorial data set depicted with dslice

Creating an ABP project with the GUI

The easiest way to create an adaptive bandpass project is to first create an auxiliary single reference project and then deriving the corresponding ABP project.

Creation of supporting single reference project

Launch the project editor through:

dcp;
{Project creation

The different fields will open as we input the required info. We start with the particles.

Entering the tutorial data set

Seed files

Table, template and masks don't need special formatting. We will just provide Dynamo with the default options. The table can be initialized to a blank table, which just contains the indices of the particles.

Creation of a blank table

Template can be initialized just as an average of particles. This average will be recomputed anyway when we derive the ABP project.

Creation of initial template

Masks are initiated to default values. This means spherical masks for alignment and classification masks, and full cubes for smoothing and fourier mask of template.

Default masks

Derivation of ABP project

After the initialization of the support single reference project, you can derive an ABP project, through Multireference > Adaptive filtering > derive a project "

Derivation of ABP Projects

You need to edit the created new project (by default will have the same name as the base project with the string _eo appended)

Bring the project to scope inside dcp
Template creation
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx

Creating an ABP project from the command line

Create the support project

dcp.new('ptest02','d','ttest2/data','show',0);
 
==== Provide initial files ====
dvhint_files ptest02 item *; 

Change execution parameters

dvput ptest02 -cr 360 -cs 45 -ir 360 -is 45 -rff 2 -rf 4 -dst matlab_parfor ...
     -cores 2 -mwa 2 -dim 16 

Derive ABP project

dveo ptest02 --abf

And create the templates:

dvtemplate ptest02_eo --ro -N 10 

% check initial references

Derive ABP project

<> dpkproject.fsc.plotFSCInitialReferences(dvload('ptest_eo'));

dvput ptest02_eo -abpi 3 -abpt 0.143 -abppb 0 -ite 10 ite_r2 0 -ite_r3 0 -lim 3 -limm 1
dvhint_files ptest02_eo item masks
dvunfold ptest02_eo
ptest02_eo

% look at the plots
dpkconv.plotConvergenceAll('ptest02_eo')
xxxxx
ddb ptest02_eo:bandpass_resolution -r t
disp(t);

Extending an ABP project from the command line

dynamo_vpr_branch ptest02_eo refine02 -n 0 -ite 7 -br 1 
 dvput refine02 -cr 15 -cs 3 -ir 15 -is 3 -rff 2 -rf 2 -ite 10 -abpi 8 -mra 0 -dim 32
dvunfold refine02 
 refine02 
dpkconv.plotConvergenceAll('refine02');
xxxxx
xxxxx