hi all,
Has anyone implemented a function that generates a set of grid search orientations ? something like: IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance);
We have sphere based and cylinder based rotation sampling, but it seems that there are better ways (quaternions based) that maintain a fixed "distance" between all pairs of orientations.
thanks, Keren.
I don't understand what you are looking for. It sounds like it might be an even sampling of the set of rotations but your prototype below only returns one rotation...
On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote:
> hi all, > > Has anyone implemented a function that generates a set of grid > search orientations ? > something like: > IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); > > We have sphere based and cylinder based rotation sampling, but it > seems that there are better ways (quaternions based) that maintain a > fixed "distance" between all pairs of orientations. > > > thanks, > Keren. > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
yes - i meant that it would return Rotation3Ds
On Jun 2, 2009, at 5:20 AM, Daniel Russel wrote:
> I don't understand what you are looking for. It sounds like it might > be an even sampling of the set of rotations but your prototype below > only returns one rotation... > > > On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote: > >> hi all, >> >> Has anyone implemented a function that generates a set of grid >> search orientations ? >> something like: >> IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); >> >> We have sphere based and cylinder based rotation sampling, but it >> seems that there are better ways (quaternions based) that maintain >> a fixed "distance" between all pairs of orientations. >> >> >> thanks, >> Keren. >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
And what does the "search" bit mean? Do you want a cover of rotations?
If so, a reasonable start is to just to uniformly sample a 4D sphere (we have code for that). The second step would be to even out the points a bit. A good way to do that would be to repeatedly, compute the convex hull of the points and then move each point to the centroid of its neighbors. CGAL has code to compute the convex hull. At least for 3D points, such an operation typically ends up with a nice even cover after a few iterations. I can write the code if you want as it would be pretty quick.
On Jun 2, 2009, at 12:09 PM, Keren Lasker wrote:
> yes - i meant that it would return Rotation3Ds > > On Jun 2, 2009, at 5:20 AM, Daniel Russel wrote: > >> I don't understand what you are looking for. It sounds like it >> might be an even sampling of the set of rotations but your >> prototype below only returns one rotation... >> >> >> On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote: >> >>> hi all, >>> >>> Has anyone implemented a function that generates a set of grid >>> search orientations ? >>> something like: >>> IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); >>> >>> We have sphere based and cylinder based rotation sampling, but it >>> seems that there are better ways (quaternions based) that maintain >>> a fixed "distance" between all pairs of orientations. >>> >>> >>> thanks, >>> Keren. >>> _______________________________________________ >>> IMP-dev mailing list >>> IMP-dev@salilab.org >>> https://salilab.org/mailman/listinfo/imp-dev >> >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
Daniel - thanks a lot - this is exactly what is needed. even rotational search is needed for many applications !!! On Jun 2, 2009, at 9:46 AM, Daniel Russel wrote:
> And what does the "search" bit mean? Do you want a cover of rotations? > > If so, a reasonable start is to just to uniformly sample a 4D sphere > (we have code for that). The second step would be to even out the > points a bit. A good way to do that would be to repeatedly, compute > the convex hull of the points and then move each point to the > centroid of its neighbors. CGAL has code to compute the convex hull. > At least for 3D points, such an operation typically ends up with a > nice even cover after a few iterations. I can write the code if you > want as it would be pretty quick. > > On Jun 2, 2009, at 12:09 PM, Keren Lasker wrote: > >> yes - i meant that it would return Rotation3Ds >> >> On Jun 2, 2009, at 5:20 AM, Daniel Russel wrote: >> >>> I don't understand what you are looking for. It sounds like it >>> might be an even sampling of the set of rotations but your >>> prototype below only returns one rotation... >>> >>> >>> On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote: >>> >>>> hi all, >>>> >>>> Has anyone implemented a function that generates a set of grid >>>> search orientations ? >>>> something like: >>>> IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); >>>> >>>> We have sphere based and cylinder based rotation sampling, but it >>>> seems that there are better ways (quaternions based) that >>>> maintain a fixed "distance" between all pairs of orientations. >>>> >>>> >>>> thanks, >>>> Keren. >>>> _______________________________________________ >>>> IMP-dev mailing list >>>> IMP-dev@salilab.org >>>> https://salilab.org/mailman/listinfo/imp-dev >>> >>> _______________________________________________ >>> IMP-dev mailing list >>> IMP-dev@salilab.org >>> https://salilab.org/mailman/listinfo/imp-dev >> >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
I forgot to say, you only want to return points in half the 4D sphere if you are trying to even out the sampling (if you are just random sampling, then it obviously doesn't matter).
On Jun 2, 2009, at 12:09 PM, Keren Lasker wrote:
> yes - i meant that it would return Rotation3Ds > > On Jun 2, 2009, at 5:20 AM, Daniel Russel wrote: > >> I don't understand what you are looking for. It sounds like it >> might be an even sampling of the set of rotations but your >> prototype below only returns one rotation... >> >> >> On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote: >> >>> hi all, >>> >>> Has anyone implemented a function that generates a set of grid >>> search orientations ? >>> something like: >>> IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); >>> >>> We have sphere based and cylinder based rotation sampling, but it >>> seems that there are better ways (quaternions based) that maintain >>> a fixed "distance" between all pairs of orientations. >>> >>> >>> thanks, >>> Keren. >>> _______________________________________________ >>> IMP-dev mailing list >>> IMP-dev@salilab.org >>> https://salilab.org/mailman/listinfo/imp-dev >> >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
this is not for random sampling but grid search sampling. Few such needs are for local exhaustive rigid fitting, local binding refinement, 2D projections and more. On Jun 2, 2009, at 9:55 AM, Daniel Russel wrote:
> I forgot to say, you only want to return points in half the 4D > sphere if you are trying to even out the sampling (if you are just > random sampling, then it obviously doesn't matter). > > On Jun 2, 2009, at 12:09 PM, Keren Lasker wrote: > >> yes - i meant that it would return Rotation3Ds >> >> On Jun 2, 2009, at 5:20 AM, Daniel Russel wrote: >> >>> I don't understand what you are looking for. It sounds like it >>> might be an even sampling of the set of rotations but your >>> prototype below only returns one rotation... >>> >>> >>> On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote: >>> >>>> hi all, >>>> >>>> Has anyone implemented a function that generates a set of grid >>>> search orientations ? >>>> something like: >>>> IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); >>>> >>>> We have sphere based and cylinder based rotation sampling, but it >>>> seems that there are better ways (quaternions based) that >>>> maintain a fixed "distance" between all pairs of orientations. >>>> >>>> >>>> thanks, >>>> Keren. >>>> _______________________________________________ >>>> IMP-dev mailing list >>>> IMP-dev@salilab.org >>>> https://salilab.org/mailman/listinfo/imp-dev >>> >>> _______________________________________________ >>> IMP-dev mailing list >>> IMP-dev@salilab.org >>> https://salilab.org/mailman/listinfo/imp-dev >> >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
you may find the attached paper useful, especially section 8.
On Tue, Jun 2, 2009 at 9:55 AM, Daniel Russel drussel@gmail.com wrote: > I forgot to say, you only want to return points in half the 4D sphere if you > are trying to even out the sampling (if you are just random sampling, then > it obviously doesn't matter). > > On Jun 2, 2009, at 12:09 PM, Keren Lasker wrote: > >> yes - i meant that it would return Rotation3Ds >> >> On Jun 2, 2009, at 5:20 AM, Daniel Russel wrote: >> >>> I don't understand what you are looking for. It sounds like it might be >>> an even sampling of the set of rotations but your prototype below only >>> returns one rotation... >>> >>> >>> On Jun 2, 2009, at 4:10 AM, Keren Lasker wrote: >>> >>>> hi all, >>>> >>>> Has anyone implemented a function that generates a set of grid search >>>> orientations ? >>>> something like: >>>> IMP::algebra::Rotation3D rotation_grid_search(IMP::Float distance); >>>> >>>> We have sphere based and cylinder based rotation sampling, but it seems >>>> that there are better ways (quaternions based) that maintain a fixed >>>> "distance" between all pairs of orientations. >>>> >>>> >>>> thanks, >>>> Keren. >>>> _______________________________________________ >>>> IMP-dev mailing list >>>> IMP-dev@salilab.org >>>> https://salilab.org/mailman/listinfo/imp-dev >>> >>> _______________________________________________ >>> IMP-dev mailing list >>> IMP-dev@salilab.org >>> https://salilab.org/mailman/listinfo/imp-dev >> >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev >
participants (3)
-
Daniel Russel
-
Dina Schneidman
-
Keren Lasker