# nornir-ir-tools-kw-eval
2024-02-20
## ir-refine-grid description
https://www.sci.utah.edu/~koshevoy/research/
svn trunk
```
// File : ir-refine-grid.cxx
// Author : Pavel A. Koshevoy, Joel Spaltenstein
// Created : 2007/04/09 08:53
// Copyright : (C) 2004-2008 University of Utah
// License : GPLv2
// Description : Refine a mosaic layout via concurrent mesh warping
// of the mosaic tiles.
// the includes:
#include <itk/common.hxx>
#include <itk/mosaic_refinement_common.hxx>
#include <itk/itkImageMosaicVarianceMetric.h>
#include <itk/itkRadialDistortionTransform.h>
#include <itk/itkLegendrePolynomialTransform.h>
#include <itk/itkRegularStepGradientDescentOptimizer2.h>
#include <itk/itkMeshTransform.h>
#include <utils/the_dynamic_array.hxx>
#include <thread/the_boost_mutex.hxx>
#include <thread/the_boost_thread.hxx>
```
- What are the main impediments to the ir-refine-grid port?
Inputs: tiles, transforms (custom file format for the transforms, an ITK transform)
Outputs: refined transforms
- Is multithreading a concern?
- Are there critical algorithms that are missing, like optimizer class or radial transform?
- What functionality is used in the code that already exists in Nornir – my understanding is that Jamie was only stuck on the optimization algorithm piece
- Can we work with Jamie to assign him parts of the implementation that he can do?
- Break up the work into pieces and tackle only the parts that Jamie is stuck on?
- What if we don’t worry about performance at this stage?
- Can we implement a simplified version (an MVP)?
- For example, a version that uses affine transforms only, or otherwise reduces the parameter space it supports