Operations on volumes
There are different operations that are frequently required when processing 3d data, both for small volumes (as templates, averages and particle) or tomograms. Dynamo and Matlab itself provide several commands.
- 1 Using the functions
- 2 Functionalities
- 3 Advanced functions
Using the functions
In general, volumes need to be read into the worskpace, creating a variable. The operator can then be used onto the variable and then the result is written back into a file. For instance
a = dread('myFile.mrc'); b= dread('myFile.mrc'); dwrite(b'myFile.mrc');
Most processing options accept as input indistinctly a filename or a variable.
Dealing with big tomograms
Reading full tomograms into the worskpace might be a bad idea, leading to overcrowding you RAM memory and freezing your system. In these situations, it is frequently a good approach to let Dynamo divide automatically the tomogram and operate separately on the chunks (we call this "chunk partition" in the documentation). There are two different devices for this task:
Commands oriented to chunk processing
Some tasks already integrate the operation through a chunk partition operated on the fly, for instance the binning of tomograms, which allows the command dpktomo.partition.bin
Technical information For operations that you want to define yourself, you can use the class behind dpktomo.partition.bin
Command dynamo_normalize_roi .html dynamo_normalize_roi. You can also pass a mask, so that the normalization will ensure zero mean and std=1 inside the mask.
You can just use the minus operator in Matlab:
dread file.mrc a b = -a
possibly normalizing again.
Flippling along a direction
You can use the Matlab commad flip
Flipping two directions
You can use the Matlab commad permute to interchange two directions in a volume.
Rotations and shifts
A (somewhat) GUI version is available as the command dvolume. The command line counterpart is dynamo_particle.html dparticle