Add removeDataFromArrays.
Fix dataFilter to use transparams.
This commit is contained in:
@@ -3,21 +3,22 @@
|
||||
#include "Function2D.h"
|
||||
#include "Function3D.h"
|
||||
|
||||
#include "src/config/config.h"
|
||||
|
||||
#define PI 3.141592653589793238462
|
||||
using namespace Aurora;
|
||||
namespace Recon {
|
||||
Matrix filterReflectionData(const Matrix &aVReceiverPositionBlock,
|
||||
const Matrix &aVSenderPositionBlock,
|
||||
const Matrix &aVSenderNormalBlock,
|
||||
int aConstrictReflectionAngles,
|
||||
double aAngleLowerLimit, double aAngleUpperLimit) {
|
||||
int aConstrictReflectionAngles) {
|
||||
auto reflectData = ones(1, aVReceiverPositionBlock.getDimSize(1));
|
||||
if (aConstrictReflectionAngles == 1) {
|
||||
auto positionDifs = aVReceiverPositionBlock - aVSenderPositionBlock;
|
||||
auto inbetweenAngle = acos(dot(aVSenderNormalBlock, positionDifs) /
|
||||
vecnorm(positionDifs, Norm2, 1));
|
||||
auto flags = Aurora::auroraNot((inbetweenAngle < (PI * aAngleLowerLimit / 180)) +
|
||||
(inbetweenAngle > (PI * aAngleUpperLimit / 180)));
|
||||
auto flags = Aurora::auroraNot((inbetweenAngle < (PI * transParams::angleLowerLimit / 180)) +
|
||||
(inbetweenAngle > (PI * transParams::angleUpperLimit / 180)));
|
||||
reflectData = reflectData * flags;
|
||||
}
|
||||
return reflectData;
|
||||
|
||||
@@ -6,9 +6,7 @@ namespace Recon {
|
||||
Aurora::Matrix filterReflectionData(const Aurora::Matrix &aVReceiverPositionBlock,
|
||||
const Aurora::Matrix &aVSenderPositionBlock,
|
||||
const Aurora::Matrix &aVSenderNormalBlock,
|
||||
int aConstrictReflectionAngles,
|
||||
double aAngleLowerLimit,
|
||||
double aAngleUpperLimit);
|
||||
int aConstrictReflectionAngles);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user