---
# System prepended metadata

title: nornir-ir-tools-kw-eval-2024-02-20

---

# 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