Cropping table
A cropping table is a regular table used in the context of particle extraction.
Contents
Using a cropping table
Dynamo uses internally tables to execute all particle extraction operations through the catalogue. If you want to generate data folders of particles extracted from a (series of) tomogram(s) and you have already a set of coordinates
On a single volume
Cropping particles from a single volume is
dtcrop <myVolumeFile> <tableFile> <folderToBeCreated> <sidelength>;
i.e., a typical command would look like:
dtcrop example.mrc crop.tbl data 64;
look at dtcrop for the full syntax.
On several volumes
You need provide a text file that maps the column 20 in the table with a tomogram file. Such a file is generated automatically when using the catalogue tools for cropping particles, but you can generate your won file manually.
Generation of cropping tables
By Dynamo
Whenever you use the catalogue for a particle extraction, or whenever you use a multivolume cropping procedure from the command line, Dynamo will generate an unified table and an volume table index file, which will be stored in the generated data folder, with names crop.tbl and respectively.
Note that the list of tags inside crop.tbl can be smaller that the tags originally in the input table: during the extraction procedure, some particles might be too close to the boundaries of the respective tomograms, and will not be cropped. Thus, it is always useful to use the produced crop.tbl table to initialize an alignment project, as it contains the identities of the particles actually on the data folder.
By the user
If you have the coordinates of your N particles in a variable called, say, p of size Nx3, you can generate a table variable:
cropTable=dynamo_table_blank(N,'r',p);
This will becorrectly formatted, and will contain the spacial coordinates on the columns 24:26. Angles, if known, might be written onto columns 7 to 9.
From models
Generating tables is the very reason models exist. If you want to generate the table corresponding to a single model m, you should
- Make sure that the model has finished its computing stage and is ready to deliver a table, i.e.
- m.updateCrop
- Extract the table
- t = m.grepTable();