Walkthrough on creation of 3d scenes
This walkthrough shows how to create graphic depictions of tomogram contents. Those include:
- Slices of tomograms
- Objects loca
- Geometrical objects (as membranes represented by triangulations)
The data set
This walkthrough works with the data set from the advanced starters guide. The goal is to depict:
- One slice of the tomogram in 3D.
This requires a tomogram file.
- The viruses placed an oriented along the directions found during a previous computed average.
This requires a template represe.
- A sketch of the membrane
This requires a model object.
From the Dynamo web
The tomogram can get fetched through:
in a linux shell, or
curl -O https://wiki.dynamo.biozentrum.unibas.ch/w/doc/data/fhv/crop.rec under MacOS.
The table, template and membrane model can be fetched similarly with names
https://wiki.dynamo.biozentrum.unibas.ch/w/doc/data/fhv/alignmentLocalRefinement.tbl https://wiki.dynamo.biozentrum.unibas.ch/w/doc/data/fhv/averagedLocalRefinement.em https://wiki.dynamo.biozentrum.unibas.ch/w/doc/data/fhv/membraneModel.omd
From your previos work
Assuming you have done the tutorial on the FHV data set, you can use the elements that you have already computed. Just extract them from the best project that you completed. Do not use a subboxing project: we want to get a template for the full crown. Examples below are given assuming that your best project was named localized, substitute if not.
Recover the last computed refined table in the data base of your project
ddb localized:rt -r t
and write it to a file
Fetch the last computed average
<tt>ddb localizedFullAngle:rt -r a
and write it into disk
If you created manually a membrane model, it should be inside your catalogue
Depicting a slice of a tomogram
The slice object
s = dpktomo.volume.slices.Slice();
Here s is just an object that will read data from a tomogram file to be defined.
s.source = 'çrop.rec; s.center = 'center'; s.l = [1000,1000]; s.eulers = 'z'; s.fetchData();
The slice depictor object
f = figure; haxis = gca();hold on; sz = dpktomo.volume.slices.SliceGraphic(s); sz.axis.h = haxis; sz.create(); % then use h.update(); to shg;
We can change the angle of view with the rotation icon or programmatically: view([-38,60]);