Daniel Russel wrote: >>> The differences from the grid used in EMBed are: >>> - The voxel index is actually a triple if ints. This makes computing >>> a point in a voxel fast without the large tables used in EMBed. I >>> think this is the right choice speed wise, but we can always test >>> (and it is trivial to change). >>> >> The reason we had it as single array in EMBed is for consistency with >> external programs like fttw, EMAN. >> I think that we should keep it like that. >> > It still has that. Just the index type is different. It also makes it > easier to iterate over the whole thing. > just to add the reason for storing voxels in a 1d array rather than 3d: in image processing, all computations are typically done in loops, i.e. neighboring voxels are accessed in succession. therefore, it should be faster in that case, and every program i know of (at least in the em community) handles it this way. if you refer to the grid as the coordinates a specific voxel corresponds to: it might well be that it is done sub-optimally done in EMbed. just test it with a reasonably large map (e.g. 100x100x100 voxels). if you result in a speed-up, changes are always welcome. > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev >