diff --git a/src/transmissionReconstruction/reconstruction/reconstruction.cpp b/src/transmissionReconstruction/reconstruction/reconstruction.cpp index 6326b3f..c0747d9 100644 --- a/src/transmissionReconstruction/reconstruction/reconstruction.cpp +++ b/src/transmissionReconstruction/reconstruction/reconstruction.cpp @@ -2,7 +2,10 @@ #include "Function.h" #include "Function1D.h" #include "Function2D.h" +#include "Function3D.h" #include "Matrix.h" +#include +#include using namespace Aurora; namespace Recon { Aurora::Matrix calculateMinimalMaximalTransducerPositions( @@ -32,4 +35,60 @@ namespace Recon { ddims.forceReshape(1, ddims.getDataSize(), 1); return ddims; } + + Aurora::Matrix calculateResolution(const Aurora::Matrix &aVDdims, const Aurora::Matrix &aVDims) + { + auto numDim = aVDims.getDataSize(); + auto res = (aVDdims.block(1,numDim,aVDdims.getDataSize()-1) - aVDdims.block(1,0,numDim-1))/ (aVDims - 1); + + if(numDim == 3 && aVDims[2] == 1){ + res[2] = res[0]; + } + return res; + } + + Aurora::Matrix getDimensions(double aNumPixelXY, const Aurora::Matrix& aVDdims) + { + int numDim = aVDdims.getDataSize()/2; + + if (!(numDim == 2 || numDim == 3)){ + std::cerr<<"Inputs does not match requirements."<