first draft of layer-as-tile code#235
Conversation
…k to SFOV tile stack (with Claude's help)
minnerbe
left a comment
There was a problem hiding this comment.
Thanks, @trautmane! Except for some small comments (and an optional offline conversation), this looks good to me.
| final int scaledImageWidth = (int) Math.floor(renderParameters.width * renderScale); | ||
| final int scaledImageHeight = (int) Math.floor(renderParameters.height * renderScale); |
There was a problem hiding this comment.
These variables could be doubles. The only usage is a few lines below, where they're explicitly cast to double again.
There was a problem hiding this comment.
I have very minor and abstract concerns about the extensibility and robustness of the x-as-tile abstraction that I find hard to articulate. @trautmane if you have the same feeling, I'm happy to discuss this offline. Otherwise, I'd view this as an instance of the WET-principle and revisit this abstraction when (and if) we need to extend this a third time.
| setup.blockOptimizer.lambdasTranslation = MFOVAsTileParameters.SolveType.AFFINE.getLambdasTranslation(); | ||
| setup.blockOptimizer.lambdasRegularization = List.of(0.0, 0.0, 0.0, 0.0, 0.0); | ||
|
|
||
| setup.blockOptimizer.iterations = List.of(1000, 1000, 500, 250, 250); |
There was a problem hiding this comment.
Are the first two rounds of optimization exactly the same (1000 iterations of 100% rigid with plateau width 250)? In this case, we could simply concatenate them (i.e., 2000 iterations of 100% rigid with plateau width 250).
This code is intended to "roughly-3D-align" the 2D-stitch-only solve results to reduce the amount of work needed to run the results through SOFIMA. It copies/reuses many of the components developed for our MFOV-as-tile process.
The process works with and creates a set of stacks like this:
The process also creates a layer-as-tile match collection that is used for the layer-as-tile solve.
Our hope is that the
..._aso_3dresult stacks are good enough that we can skip cross-layer SFOV match data generation and that the SOFIMA setup work will be reduced/simplified.A few final notes ...