Difference between revisions of "Walkthrough on command line based tilt series alignment"

From Dynamo
Jump to: navigation, search
Line 111: Line 111:
 
shiftTomogramCenter = [0,0,0];
 
shiftTomogramCenter = [0,0,0];
  
%
+
 
% command executions
+
<code >dynamo_table_rec(tblFull,source,angles,targetDirectory,sidelength,....
%
 
dynamo_table_rec(tblFull,source,angles,targetDirectory,sidelength,....
 
 
     'applyRampFilter',1,....
 
     'applyRampFilter',1,....
 
     'sizeTomogram',sizeTomogramFull,....
 
     'sizeTomogram',sizeTomogramFull,....
     'shiftTomogramCenter',shiftTomogramCenter);
+
     'shiftTomogramCenter',shiftTomogramCenter);</code>
  
 
figure;dslices(targetDirectory,'proj','c');shg;
 
figure;dslices(targetDirectory,'proj','c');shg;
 +
 
disp('done');
 
disp('done');
 +
 +
[[ File:alignCommandLine_autocompletionOfUserObject.png |thumb|center| 600px|autocompletion of user object]]
 +
[[ File:alignCommandLine_autocompletionOfFurtherFieldsOfUserObject.png |thumb|center| 600px|autocompletion of further fields of user object]]
 +
[[ File:alignCommandLine_viewOfTiltLines.png |thumb|center| 600px|view of tilt lines]]
 +
[[ File:alignCommandLine_dtmsliceOfBinnedReconstruction.png |thumb|center| 600px|dtmslice of binned reconstruction]]
 +
[[ File:alignCommandLine_dtmsliceContrastControl.png |thumb|center| 600px|dtmslice contrast control]]
 +
[[ File:alignCommandLine_dtmsliceAfterContrastCorrection.png |thumb|center| 600px|dtmslice after contrast correction]]
 +
[[ File:alignCommandLine_createANewModel.png |thumb|center| 600px|create a new model]]
 +
[[ File:alignCommandLine_showAFullProjection.png |thumb|center| 600px|show a full projection]]
 +
[[ File:alignCommandLine_fullProjectionOfBinnedReconstruction.png |thumb|center| 600px|full projection of binned reconstruction]]
 +
[[ File:alignCommandLine_rightClickOnAPoint.png |thumb|center| 600px|right click on a point]]
 +
[[ File:alignCommandLine_xViewOfClickedPoint.png |thumb|center| 600px|x view of clicked point]]
 +
[[ File:alignCommandLine_mainClickToFixThe3dCoordinates.png |thumb|center| 600px|main click to fix the 3d coordinates]]
 +
[[ File:alignCommandLine_clickAroundTenMarkers.png |thumb|center| 600px|click around ten markers]]
 +
[[ File:alignCommandLine_exportATableIntoTheMatlabWorkspace.png |thumb|center| 600px|export a table into the matlab workspace]]
 +
[[ File:alignCommandLine_theCommandLineShowsTheVariableNameAssignedToTheCreatedTable.png |thumb|center| 600px|the command line shows the variable name assigned to the created table]]
 +
[[ File:alignCommandLine_dslicesOnBinnedGoldBeads.png |thumb|center| 600px|dslices on binned gold beads]]
 +
[[ File:alignCommandLine_dslicesOnFullSizedGoldBeads.png |thumb|center| 600px|dslices on full sized gold beads]]

Revision as of 15:30, 27 August 2019

This is the command line based version of the GUI based alignment walkthrough

Create the workflow

name = 'hivCommandLine';
folder = 'workflows';
u = dtsa(name,'--nogui','-path',folder,'fp',1); 

Here, we instruct Dynamo to skip opening the GUI. We also create the workflow in a different folder.

Entering the data

The u object contains several areas to interact with the workflow. They can be found by autocompletion using the tab key. Here, we will proceed step by step; remember that you can write all the command lines in a single .m script.

Basic data

u.enter.tiltSeries(fileWorkshop);

u.enter.tiltAngles(-57:3:60);

If you want to reject some of the hight tilts (or any other view that appears to have been damages,) u.enter.discardedTiltIndices([1,40]);

Acquisition settings

u.enter.settingAcquisition.apix(2.7);

Computation settings

u.enter.settingComputing.parallelCPUUse(1);

Detection settings

These here are the actual design decisions when running an alignment workflow:

u.enter.settingDetection.beadRadius(16); u.enter.settingDetection.maskRadius(28);

u.enter.templateSidelength(64);

The bin level is mainly used to accelerate the detection procedure. Needs to be chosen in a way that a binned gold bead still can be recognisable as such, with a radius of at least 4 pixels.

u.enter.settingDetection.detectionBinningFactor(1);

Changing generic parameters

Yo can find handles to the parameters of the individuals steps through auto ompletion on the area, then step items.

u.area.indexing.step.tiltGapFiller.parameterSet.residualsThreshold(8);


Running the workflow

u.run.all('noctf',1);

On the fly reconstruction of particles

Grep coordinates in the binned tomogram

Open the binned reconstruction with dtmslice dtmslice 'workflows/hivCommandLine.AWF/reconstruction/binnedReconstructionWBP.mrc';


Now we can save the table as a file: write(temp_table,'binnedGoldbeads.tbl');

Cropping the gold bead particles

tomo = 'workflows/workshop.AWF/reconstruction/binnedReconstructionWBP.mrc'; tbl = 'binnedGoldbeads.tbl'; targetBinnedParticles = 'binnedGoldBeads.Data'; sidelength = 32; o = dtcrop(tomo,tbl,target,sidelength);

And then we visualise a projection along z of each cropped particle

dslices(targetBinnedParticles,'proj','c');shg;

Reconstruct particles on the fly

The command that reconstructs full sized particles from an aligned stack is dynama_table_trec. This is an independent function, not part of the workflow, implying that we will need to perform some format conversion.

tbl = dread('binnedGoldbeads.tbl');

We scale the table

alignmentBinLevel = 2;

tblFull = dynamo_table_rescale(tbl,'factor',2^alignmentBinLevel);


source  = 'workflows/new.AWF/align/alignedFullStack.mrc';


We create a data folder to contain the particles reconstructed on the fly.

targetDirectory = 'tempCrop.Data';

if exist(targetDirectory,'dir')==7

   o.e('Deleting directory');
  rmdir(targetDirectory,'s'); 

end

Angles are contained in the

angles =  'workflows/new.AWF/align/reconstructionTiltAngles.tlt';

sidelength = 160;

% % shift tomogram center % % if the binned visualization tomogram would contain a shift % we would have to scale it visualizationTomogram = 'workflows/ hivCommandLine.AWF/reconstruction/binnedReconstructionWBP.mrc'; sizeTomogram = dynamo_read_size(visualizationTomogram); sizeTomogramFull = sizeTomogram*2^alignmentBinLevel;


% % shift tomogram center % % if the binned visualization tomogram would contain a shift % we would have to scale it shiftTomogramCenter = [0,0,0];


dynamo_table_rec(tblFull,source,angles,targetDirectory,sidelength,....

   'applyRampFilter',1,....
   'sizeTomogram',sizeTomogramFull,....
   'shiftTomogramCenter',shiftTomogramCenter);

figure;dslices(targetDirectory,'proj','c');shg;

disp('done');

autocompletion of user object
autocompletion of further fields of user object
view of tilt lines
dtmslice of binned reconstruction
dtmslice contrast control
dtmslice after contrast correction
create a new model
show a full projection
full projection of binned reconstruction
right click on a point
x view of clicked point
main click to fix the 3d coordinates
click around ten markers
export a table into the matlab workspace
the command line shows the variable name assigned to the created table
dslices on binned gold beads
dslices on full sized gold beads