# Difference between revisions of "Operations on volumes"

Line 48: | Line 48: | ||

===Flippling along a direction=== | ===Flippling along a direction=== | ||

− | You can use the Matlab commad {{t|flip}} | + | You can use the Matlab commad {{t|flip}}. |

=== Flipping two directions=== | === Flipping two directions=== |

## Revision as of 09:12, 23 May 2016

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.

## 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, to bin the contents of the file `myFile.mrc` and write the result into the file `binned.mrc`

a = dread('myFile.mrc');b = dbin(a,2);dwrite(b,'binned.mrc');

Most processing options accept as input indistinctly a filename or a variable. Note also that `dread` accepts the alternative command line syntax:

dread myFile.mrc a

### Dealing with large 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`

#### Partition objects

*Technical information*

For operations that you want to define yourself, you can use the class behind `dpktomo.partition.bin`, i.e. `mbgeom.partition.GridPartition`

## Functionalities

### Binning

Command `dbin`.

### Normalization

Command `dynamo_normalize_roi`.
You can also pass a mask, so that the normalization will ensure zero mean and std=1 inside the mask.

### Filters

Commands dynamo_bandpass .html `dbandpass`, dynamo_median.html `dmedian`.

### Contrast inversion

You can just use the minus operator in Matlab:

dread file.mrc ab = -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

dynamo_rot.html `drot`,dynamo_move .html `dmove`

### Symmetrization

The general function is dynamo_sym.html `dsym`.
The notation for the symmetry operators in this command is the one used when defining project parameters.

## Advanced functions

A (somewhat) GUI version is available as the command `dvolume`. The command line counterpart is dynamo_particle.html `dparticle`, which accepts several operators (binning, symmetrization, etc). The notation of the operators in `dparticle` is the same used in other instances of *Dynamo* (normally under the name `actions` or `particle actions`) when volumetric transformations are operated on the fly. For instance when depicting the contents of data folders with `ddbrowse`.