Switch to side-by-side view

--- a
+++ b/src/weingartenImageCurvature.cxx
@@ -0,0 +1,71 @@
+
+#include <nanobind/nanobind.h>
+#include <nanobind/stl/vector.h>
+#include <nanobind/stl/string.h>
+#include <nanobind/stl/tuple.h>
+#include <nanobind/stl/list.h>
+#include <nanobind/ndarray.h>
+#include <nanobind/stl/shared_ptr.h>
+
+
+#include <exception>
+#include <vector>
+#include <string>
+#include <algorithm>
+
+#include "itkImage.h"
+
+#include "antscore/itkSurfaceImageCurvature.h"
+
+#include "antsImage.h"
+
+namespace nb = nanobind;
+using namespace nb::literals;
+
+AntsImage<itk::Image<float, 3>> weingartenImageCurvature( AntsImage<itk::Image<float, 3>> myimage,
+                                      float sigma, int opt )
+{
+  typedef itk::Image<float, 3> ImageType;
+
+  typedef typename ImageType::Pointer       ImagePointerType;
+  enum { ImageDimension = ImageType::ImageDimension };
+  typedef itk::SurfaceImageCurvature<ImageType> ParamType;
+  typename ParamType::Pointer Parameterizer = ParamType::New();
+  typename ImageType::Pointer input = myimage.ptr;
+  typename ImageType::DirectionType imgdir = input->GetDirection();
+  typename ImageType::DirectionType iddir = input->GetDirection();
+  iddir.SetIdentity();
+  input->SetDirection( iddir );
+  Parameterizer->SetInputImage(input);
+  Parameterizer->SetNeighborhoodRadius( 1. );
+  if( sigma <= 0.5 )
+      {
+      sigma = 1.66;
+      }
+  Parameterizer->SetSigma(sigma);
+  Parameterizer->SetUseLabel(false);
+  Parameterizer->SetUseGeodesicNeighborhood(false);
+  float sign = 1.0;
+  Parameterizer->SetkSign(sign);
+  Parameterizer->SetThreshold(0);
+  if( opt != 5 && opt != 6 )
+      {
+      Parameterizer->ComputeFrameOverDomain( 3 );
+      }
+  else
+      {
+      Parameterizer->ComputeFrameOverDomain( opt );
+      }
+  typename ImageType::Pointer output = Parameterizer->GetFunctionImage();
+  output->SetDirection( imgdir );
+
+  AntsImage<ImageType> outImage = { output };
+  return outImage;
+
+}
+
+
+void local_weingartenImageCurvature(nb::module_ &m)
+{
+  m.def("weingartenImageCurvature", &weingartenImageCurvature);
+}
\ No newline at end of file