|
Bugzilla – Bug 536 |
Locking a Tile is ignored |
Last modified: 2014-06-23 21:04:45 CDT |
| ⚠ |
NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug. The Fiji project now uses GitHub Issues for issue tracking. Please file all new issues there. |
|
|
|
||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||
Hi Steffi, did you choose a translation model to align the tiles? If so, then this is not a bug but a consequence of TrakEM2's design that includes two independent transformations per each image tile, an arbitrary transformation and an affine transformation. Linear alignment deals with the affine part which is independent from non-linear transformations. It is implemented to use the original images instead of transformed images which makes sense in most situations (not creating rotated rectangles with large uncovered areas, not creating excessively large mipmaps, re-using features and matches). Changing this is possible but seriously impacts how the whole system is working (e.g. you would re-extract all features and point matches for what you just did on Friday, affine montage after translation montage). It is also time-consuming and I currently lack that time. So much to the rebuff ;)---you can of course workaround it. The easiest way is (at least I believe that this should work), to use an affine transformation for the montaging step. If you want something else, you use an affine transformation that is regularized by the transformation model that you actually want (e.g. translation) with lambda=1.0. Another option is to move the affine transformation into the coordinate transformation stack (creating rotated rectangles with large uncovered areas, creating excessively large mipmaps, loosing all features and matches ;)). There is no button yet in TrakEM2 to do this but the following Beanshell snippet does it for all selected patches, if the coordinate transformation stack is empty (which, for you, is the case): for (patch:Display.getFront().getSelection().getSeleced()){ affine = patch.getAffineTransform(); ct = new mpicbg.trakem2.transform.AffineModel2D(); ct.set(affine); patch.setAffineTransform(new java.awt.geom.AffineTransform()); patch.setCoordinateTransform(ct); patch.updateMipMaps(); } I will later reveal how to do it if the coordinate transformation stack is not empty.