Try recon
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
#include "config/config.h"
|
||||
#define EIGEN_USE_MKL_ALL
|
||||
|
||||
#include <iostream>
|
||||
@@ -28,6 +29,7 @@ int main()
|
||||
auto defaultLogger = getLogger("Main");
|
||||
spdlog::set_default_logger(defaultLogger);
|
||||
SPDLOG_INFO("start");
|
||||
Recon::initalizeConfig();
|
||||
Recon::startReconstructions();
|
||||
SPDLOG_INFO("finish");
|
||||
return 0;
|
||||
|
||||
@@ -85,18 +85,18 @@ namespace Recon {
|
||||
|
||||
Matrix_t senderIdx{nullptr,
|
||||
2,
|
||||
{senderIndex.getDataSize(),1, 1},
|
||||
{1,senderIndex.getDataSize(), 1},
|
||||
senderIndex.getDataSize()};
|
||||
temp1 = new unsigned short[senderIndex.getDataSize()];
|
||||
auto temp2 = new unsigned short[senderIndex.getDataSize()];
|
||||
std::copy(senderIndex.getData(),
|
||||
senderIndex.getData() + senderIndex.getDataSize(), temp1);
|
||||
senderIdx.Data = temp1;
|
||||
senderIndex.getData() + senderIndex.getDataSize(), temp2);
|
||||
senderIdx.Data = temp2;
|
||||
params.push_back(senderIdx);
|
||||
|
||||
Matrix_t receiverGeom{nullptr,
|
||||
(size_t)receiverPosGeom.getDims(),
|
||||
{(size_t)receiverPosGeom.getDimSize(0),
|
||||
(size_t)receiverPosGeom.getDimSize(1),
|
||||
{(size_t)receiverPosGeom.getDimSize(1),
|
||||
(size_t)receiverPosGeom.getDimSize(0),
|
||||
(size_t)receiverPosGeom.getDimSize(2)},
|
||||
receiverPosGeom.getDataSize()};
|
||||
float *fdata = new float[receiverPosGeom.getDataSize()]{0};
|
||||
@@ -107,14 +107,14 @@ namespace Recon {
|
||||
|
||||
Matrix_t senderGeom{nullptr,
|
||||
(size_t)senderPosGeom.getDims(),
|
||||
{(size_t)senderPosGeom.getDimSize(0),
|
||||
{(size_t)senderPosGeom.getDimSize(1),
|
||||
(size_t)senderPosGeom.getDimSize(1),
|
||||
(size_t)senderPosGeom.getDimSize(2)},
|
||||
senderPosGeom.getDataSize()};
|
||||
fdata = new float[senderPosGeom.getDataSize()]{0};
|
||||
auto fdata1 = new float[senderPosGeom.getDataSize()]{0};
|
||||
std::copy(senderPosGeom.getData(),
|
||||
senderPosGeom.getData() + senderPosGeom.getDataSize(), fdata);
|
||||
senderGeom.Data = fdata;
|
||||
senderPosGeom.getData() + senderPosGeom.getDataSize(), fdata1);
|
||||
senderGeom.Data = fdata1;
|
||||
params.push_back(senderGeom);
|
||||
|
||||
Matrix_t _SAFT_mode{&SAFT_mode, 1, {1, 1, 1}, 1};
|
||||
@@ -131,10 +131,10 @@ namespace Recon {
|
||||
(size_t)transRecos.speedMap3D.getDimSize(1),
|
||||
(size_t)transRecos.speedMap3D.getDimSize(2)},
|
||||
transRecos.speedMap3D.getDataSize()};
|
||||
fdata = new float[transRecos.speedMap3D.getDataSize()]{0};
|
||||
auto fdata2 = new float[transRecos.speedMap3D.getDataSize()]{0};
|
||||
std::copy(transRecos.speedMap3D.getData(),
|
||||
transRecos.speedMap3D.getData() + transRecos.speedMap3D.getDataSize(), fdata);
|
||||
SpeedMap3D.Data = fdata;
|
||||
transRecos.speedMap3D.getData() + transRecos.speedMap3D.getDataSize(), fdata2);
|
||||
SpeedMap3D.Data = fdata2;
|
||||
params.push_back(SpeedMap3D);
|
||||
|
||||
Matrix_t BeginTransMap{nullptr,
|
||||
@@ -143,10 +143,10 @@ namespace Recon {
|
||||
(size_t)transRecos.beginTransMap.getDimSize(1),
|
||||
(size_t)transRecos.beginTransMap.getDimSize(2)},
|
||||
transRecos.beginTransMap.getDataSize()};
|
||||
fdata = new float[transRecos.beginTransMap.getDataSize()]{0};
|
||||
auto fdata3 = new float[transRecos.beginTransMap.getDataSize()]{0};
|
||||
std::copy(transRecos.beginTransMap.getData(),
|
||||
transRecos.beginTransMap.getData() + transRecos.beginTransMap.getDataSize(), fdata);
|
||||
BeginTransMap.Data = fdata;
|
||||
transRecos.beginTransMap.getData() + transRecos.beginTransMap.getDataSize(), fdata3);
|
||||
BeginTransMap.Data = fdata3;
|
||||
params.push_back(BeginTransMap);
|
||||
|
||||
Matrix_t DeltaTransMap{nullptr,
|
||||
@@ -155,9 +155,9 @@ namespace Recon {
|
||||
1,
|
||||
1,
|
||||
1};
|
||||
fdata = new float[1]{0};
|
||||
fdata[0] = transRecos.deltaTransMap;
|
||||
DeltaTransMap.Data = fdata;
|
||||
auto fdata4 = new float[1]{0};
|
||||
fdata4[0] = transRecos.deltaTransMap;
|
||||
DeltaTransMap.Data = fdata4;
|
||||
params.push_back(DeltaTransMap);
|
||||
|
||||
Matrix_t AttenuationMap3D{nullptr,
|
||||
@@ -166,10 +166,10 @@ namespace Recon {
|
||||
(size_t)transRecos.attenuationMap3D.getDimSize(1),
|
||||
(size_t)transRecos.attenuationMap3D.getDimSize(2)},
|
||||
transRecos.attenuationMap3D.getDataSize()};
|
||||
fdata = new float[transRecos.attenuationMap3D.getDataSize()]{0};
|
||||
auto fdata5 = new float[transRecos.attenuationMap3D.getDataSize()]{0};
|
||||
std::copy(transRecos.attenuationMap3D.getData(),
|
||||
transRecos.attenuationMap3D.getData() + transRecos.attenuationMap3D.getDataSize(), fdata);
|
||||
AttenuationMap3D.Data = fdata;
|
||||
transRecos.attenuationMap3D.getData() + transRecos.attenuationMap3D.getDataSize(), fdata5);
|
||||
AttenuationMap3D.Data = fdata5;
|
||||
params.push_back(AttenuationMap3D);
|
||||
|
||||
float imageResolution_v = (float)reflectParams::imageResolution;
|
||||
@@ -189,10 +189,7 @@ namespace Recon {
|
||||
{(size_t)Env.getDimSize(0), (size_t)Env.getDimSize(1),
|
||||
(size_t)Env.getDimSize(2)},
|
||||
Env.getDataSize()};
|
||||
float *Envdata = new float[Env.getDataSize()]{0};
|
||||
std::copy(Env.getData(), Env.getData() + Env.getDataSize(),
|
||||
Envdata);
|
||||
_Env.Data = Envdata;
|
||||
_Env.Data = Env.getData();
|
||||
params.push_back(_Env);
|
||||
|
||||
int blockXYZ_v[3]{(int)reflectParams::blockDimXYZ[0],(int)reflectParams::blockDimXYZ[1],(int)reflectParams::blockDimXYZ[2]};
|
||||
@@ -212,6 +209,7 @@ namespace Recon {
|
||||
|
||||
if (reflectParams::useAscanIndex == 0){
|
||||
Matrix_t medianWindowSize{&reflectParams::medianWindowSize,1,{1,1,1},1};
|
||||
params.push_back(medianWindowSize);
|
||||
}
|
||||
|
||||
int other[2]={reflectParams::debugMode, reflectParams::attenuationCorrectionLimit} ;
|
||||
@@ -219,10 +217,32 @@ namespace Recon {
|
||||
params.push_back(otherP);
|
||||
if (reflectParams::useAscanIndex == 0) {
|
||||
auto result = SAFT_ATT(params);
|
||||
delete [] ASdata;
|
||||
delete [] (float*)imageStartpoint.Data;
|
||||
delete [] temp1;
|
||||
delete [] temp2;
|
||||
delete [] fdata;
|
||||
delete [] fdata1;
|
||||
delete [] fdata2;
|
||||
delete [] fdata3;
|
||||
delete [] fdata4;
|
||||
delete [] fdata5;
|
||||
delete [] gdata;
|
||||
return Aurora::Matrix::fromRawData((double *)result.Data, result.Dims[0],
|
||||
result.Dims[1], result.Dims[2]);
|
||||
} else {
|
||||
auto result = SAFT_TOFI(params);
|
||||
delete [] ASdata;
|
||||
delete [] (float*)imageStartpoint.Data;
|
||||
delete [] temp1;
|
||||
delete [] temp2;
|
||||
delete [] fdata;
|
||||
delete [] fdata1;
|
||||
delete [] fdata2;
|
||||
delete [] fdata3;
|
||||
delete [] fdata4;
|
||||
delete [] fdata5;
|
||||
delete [] gdata;
|
||||
return Aurora::Matrix::fromRawData((double *)result.Data, result.Dims[0],
|
||||
result.Dims[1], result.Dims[2]);
|
||||
}
|
||||
|
||||
@@ -87,6 +87,7 @@ Aurora::Matrix Recon::startReflectionReconstruction( Parser* aParser, int aSAFT_
|
||||
removeDataFromArrays(blockData.receiverPositionBlock, preprocessData.usedData),
|
||||
removeDataFromArrays(blockData.mpBlock, preprocessData.usedData),
|
||||
aSAFT_mode, aTransRecos, Env);
|
||||
printf("%d\n",j);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user