Update branch with soundSpeedCorrection and attenuationCorrection is 0.

This commit is contained in:
sunwen
2023-06-27 09:12:16 +08:00
parent aded4a1a77
commit 0887091eb8

View File

@@ -1,5 +1,7 @@
#include "preprocessTransmissionReconstructionForReflection.h" #include "preprocessTransmissionReconstructionForReflection.h"
#include "Function1D.h"
#include "Function3D.h" #include "Function3D.h"
#include "Function2D.h"
#include "Matrix.h" #include "Matrix.h"
#include "reflectionReconstruction/preprocessData/resampleTransmissionVolume.h" #include "reflectionReconstruction/preprocessData/resampleTransmissionVolume.h"
#include "src/config/config.h" #include "src/config/config.h"
@@ -34,7 +36,7 @@ PreprocessReflectionData Recon::preprocessTransmissionReconstructionForReflectio
auto sosResampleVolume = resampleTransmissionVolume(aSOSMap, maxPos, minPos, aGeometryInfo); auto sosResampleVolume = resampleTransmissionVolume(aSOSMap, maxPos, minPos, aGeometryInfo);
result.transRecos.deltaTransMap = sosResampleVolume.deltaTransMap; result.transRecos.deltaTransMap = sosResampleVolume.deltaTransMap;
result.transRecos.beginTransMap = sosResampleVolume.beginTransMap; result.transRecos.beginTransMap = sosResampleVolume.beginTransMap;
// TemperatureModel4D暂无 // TemperatureModel4D暂无 todo
// try % use temp model 4D // try % use temp model 4D
// speedmapx=transRecos.begin_TransMap(1):transRecos.delta_TransMap:(size(transRecos.SpeedMap3D,1)-1)*transRecos.delta_TransMap + transRecos.begin_TransMap(1); // speedmapx=transRecos.begin_TransMap(1):transRecos.delta_TransMap:(size(transRecos.SpeedMap3D,1)-1)*transRecos.delta_TransMap + transRecos.begin_TransMap(1);
// speedmapy=transRecos.begin_TransMap(2):transRecos.delta_TransMap:(size(transRecos.SpeedMap3D,2)-1)*transRecos.delta_TransMap + transRecos.begin_TransMap(2); // speedmapy=transRecos.begin_TransMap(2):transRecos.delta_TransMap:(size(transRecos.SpeedMap3D,2)-1)*transRecos.delta_TransMap + transRecos.begin_TransMap(2);
@@ -93,40 +95,31 @@ PreprocessReflectionData Recon::preprocessTransmissionReconstructionForReflectio
if(soundSpeedCorrection == 0 && attenuationCorrection == 0) if(soundSpeedCorrection == 0 && attenuationCorrection == 0)
{ {
//与初始配置值不符暂不实现todo result.saftMode = 2;
// writeReconstructionLog('No sound speed correction / no attenuation corection -> using a water temperature based sound speed map and zero attenuation map.', 1); double deltaTransMap = reflectParams::resolutionTransmMap;
// SAFT_mode = 2; % 0:(-SOS -ATT); 1:(+SOS -ATT); 2:(+SOS +ATT); Matrix minTransdPos = min(aGeometryInfo.minEmitter, aGeometryInfo.minReceiver);
Matrix maxTransdPos = max(aGeometryInfo.maxEmitter, aGeometryInfo.maxReceiver);
// delta_TransMap = flags.transmissionCorrection.resolutionTransmMap; Matrix begin_TransMap = transpose(min(transpose(reflectParams::imageStartpoint), minTransdPos) - 3 * reflectParams::resolutionTransmMap);
Matrix end_SpeedMap = max(transpose(reflectParams::imageEndpoint),maxTransdPos) + 3 * reflectParams::resolutionTransmMap;
// minTransdPos = min(geometry.minEmitter,geometry.minReceiver); end_SpeedMap[2] = end_SpeedMap[2] + 0.025;
// maxTransdPos =max(geometry.maxEmitter,geometry.maxReceiver);
// begin_TransMap = (min(flags.imageInfos.imageStartpoint',minTransdPos))' - 3*flags.transmissionCorrection.resolutionTransmMap; %elongate to cope for aperture movements
// end_SpeedMap = max(flags.imageInfos.imageEndpoint',maxTransdPos) + 3*flags.transmissionCorrection.resolutionTransmMap;
// end_SpeedMap(3) = end_SpeedMap(3) +0.025;
// x = (begin_TransMap(1):delta_TransMap:end_SpeedMap(1))+0.5*delta_TransMap; Matrix x = createVectorMatrix(begin_TransMap[0], deltaTransMap, end_SpeedMap[0]) + 0.5 * deltaTransMap;
// y = (begin_TransMap(2):delta_TransMap:end_SpeedMap(2))+0.5*delta_TransMap; Matrix y = createVectorMatrix(begin_TransMap[1], deltaTransMap, end_SpeedMap[1]) + 0.5 * deltaTransMap;
// z = (begin_TransMap(3):delta_TransMap:end_SpeedMap(3))+0.5*delta_TransMap; Matrix z = createVectorMatrix(begin_TransMap[2], deltaTransMap, end_SpeedMap[2]) + 0.5 * deltaTransMap;
// [XNEW, YNEW, ZNEW] = ndgrid(x,y,z); // TemperatureModel4D暂无 todo
// try
// try
// transRecos.SpeedMap3D = reshape(temperatureToSoundSpeed(polyvaln(temp.TemperatureModel4D.p,[XNEW(:),YNEW(:), ZNEW(:), zeros(size(XNEW(:)))])),size(XNEW)); // transRecos.SpeedMap3D = reshape(temperatureToSoundSpeed(polyvaln(temp.TemperatureModel4D.p,[XNEW(:),YNEW(:), ZNEW(:), zeros(size(XNEW(:)))])),size(XNEW));
// catch // catch
// try
// transRecos.SpeedMap3D = zeros([length(x), length(y), length(z)]) + temp.expectedSOSWater; result.transRecos.speedMap3D = zeros(x.getDimSize(1), y.getDimSize(1), z.getDimSize(1)) + aTemp.expectedSOSWater;
// catch
// writeReconstructionLog('No temperature data available. Can''t create an artificial sound speed map', 4);
// error([mfilename, ':noTemperatureData'],'No temperature data available. Can''t create an artificial sound speed map');
// end
// end
// transRecos.begin_TransMap = begin_TransMap; result.transRecos.beginTransMap = begin_TransMap;
// transRecos.delta_TransMap = delta_TransMap; result.transRecos.deltaTransMap = deltaTransMap;
// transRecos.AttenuationMap3D = zeros(size(transRecos.SpeedMap3D)); result.transRecos.attenuationMap3D = zeros(result.transRecos.speedMap3D.getDimSize(0), result.transRecos.speedMap3D.getDimSize(1), result.transRecos.speedMap3D.getDimSize(2));
// soundSpeedCorrection = 1; % setting sound speed correction to true for SAFT calls soundSpeedCorrection = 1;
} }
else if (soundSpeedCorrection > 0 && attenuationCorrection == 0) else if (soundSpeedCorrection > 0 && attenuationCorrection == 0)
{ {