diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp index 9abb592..7872e07 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp @@ -7,7 +7,7 @@ #include "LibreCAL/librecaldialog.h" #include "preferences.h" -#include "Eigen/Dense" +#include "Tools/Eigen/Dense" #include #include @@ -777,25 +777,24 @@ Calibration::Point Calibration::computeSOLT(double f) complex S11, S21; Sparam Sideal; if(throughForward) { - S11 = throughForward->getMeasured(f).m11; - S21 = throughForward->getMeasured(f).m21; + S11 = throughForward->getMeasured(f).get(1,1); + S21 = throughForward->getMeasured(f).get(2,1); Sideal = throughForward->getActual(f); } else if(throughReverse) { - S11 = throughReverse->getMeasured(f).m22; - S21 = throughReverse->getMeasured(f).m12; + S11 = throughReverse->getMeasured(f).get(2,2); + S21 = throughReverse->getMeasured(f).get(1,2); Sideal = throughReverse->getActual(f); - swap(Sideal.m11, Sideal.m22); - swap(Sideal.m12, Sideal.m21); + Sideal.swapPorts(1,2); } auto isoMeas = static_cast(findMeasurement(CalibrationMeasurement::Base::Type::Isolation)); auto isolation = complex(0.0,0.0); if(isoMeas) { isolation = isoMeas->getMeasured(f, p2, p1); } - auto deltaS = Sideal.m11*Sideal.m22 - Sideal.m21 * Sideal.m12; - point.L[i][j] = ((S11 - point.D[i])*(1.0 - point.S[i] * Sideal.m11)-Sideal.m11*point.R[i]) - / ((S11 - point.D[i])*(Sideal.m22-point.S[i]*deltaS)-deltaS*point.R[i]); - point.T[i][j] = (S21 - isolation)*(1.0 - point.S[i]*Sideal.m11 - point.L[i][j]*Sideal.m22 + point.S[i]*point.L[i][j]*deltaS) / Sideal.m21; + auto deltaS = Sideal.get(1,1)*Sideal.get(2,2) - Sideal.get(2,1) * Sideal.get(1,2); + point.L[i][j] = ((S11 - point.D[i])*(1.0 - point.S[i] * Sideal.get(1,1))-Sideal.get(1,1)*point.R[i]) + / ((S11 - point.D[i])*(Sideal.get(2,2)-point.S[i]*deltaS)-deltaS*point.R[i]); + point.T[i][j] = (S21 - isolation)*(1.0 - point.S[i]*Sideal.get(1,1) - point.L[i][j]*Sideal.get(2,2) + point.S[i]*point.L[i][j]*deltaS) / Sideal.get(2,1); point.I[i][j] = isolation; } } @@ -828,15 +827,15 @@ Calibration::Point Calibration::computeThroughNormalization(double f) complex S21 = 0.0; Sparam Sideal; if(throughForward) { - S21 = throughForward->getMeasured(f).m21; + S21 = throughForward->getMeasured(f).get(2,1); Sideal = throughForward->getActual(f); } else if(throughReverse) { - S21 = throughReverse->getMeasured(f).m12; + S21 = throughReverse->getMeasured(f).get(1,2); Sideal = throughReverse->getActual(f); - swap(Sideal.m12, Sideal.m21); + Sideal.swapPorts(1,2); } point.L[i][j] = 0.0; - point.T[i][j] = S21 / Sideal.m21; + point.T[i][j] = S21 / Sideal.get(2,1); point.I[i][j] = 0.0; } } @@ -904,8 +903,7 @@ Calibration::Point Calibration::computeTRL(double freq) Sthrough = throughForward->getMeasured(freq); } else if(throughReverse) { Sthrough = throughReverse->getMeasured(freq); - swap(Sthrough.m11, Sthrough.m22); - swap(Sthrough.m12, Sthrough.m21); + Sthrough.swapPorts(1,2); } // grab line measurement auto forwardLines = findMeasurements(CalibrationMeasurement::Base::Type::Line, p1, p2); @@ -942,8 +940,7 @@ Calibration::Point Calibration::computeTRL(double freq) Sparam Sline = closestLine->getMeasured(freq); if(closestLineIsReversed) { - swap(Sline.m11, Sline.m22); - swap(Sline.m12, Sline.m21); + Sline.swapPorts(1,2); } // got all required measurements @@ -955,17 +952,17 @@ Calibration::Point Calibration::computeTRL(double freq) auto T = R_D*R_T.inverse(); complex a_over_c, b; // page 21-22 - Util::solveQuadratic(T.m21, T.m22 - T.m11, -T.m12, b, a_over_c); + Util::solveQuadratic(T.get(2,1), T.get(2,2) - T.get(1,1), -T.get(1,2), b, a_over_c); // ensure correct root selection // page 23 if(abs(b) >= abs(a_over_c)) { swap(b, a_over_c); } // page 24 - auto g = R_T.m22; - auto d = R_T.m11 / g; - auto e = R_T.m12 / g; - auto f = R_T.m21 / g; + auto g = R_T.get(2,2); + auto d = R_T.get(1,1) / g; + auto e = R_T.get(1,2) / g; + auto f = R_T.get(2,1) / g; // page 25 auto r22_rho22 = g * (1.0 - e / a_over_c) / (1.0 - b / a_over_c); @@ -994,12 +991,12 @@ Calibration::Point Calibration::computeTRL(double freq) auto Box_A = Tparam(r22 * a, r22 * b, r22 * c, r22); auto Box_B = Tparam(rho22 * alpha, rho22 * beta, rho22 * gamma, rho22); auto S_A = Sparam(Box_A); - point.D[i] = S_A.m11; - point.R[i] = S_A.m12; - point.S[i] = S_A.m22; + point.D[i] = S_A.get(1,1); + point.R[i] = S_A.get(1,2); + point.S[i] = S_A.get(2,2); auto S_B = Sparam(Box_B); - point.L[i][j] = S_B.m11; - point.T[i][j] = S_B.m21; + point.L[i][j] = S_B.get(1,1); + point.T[i][j] = S_B.get(2,1); // no isolation measurement available point.I[i][j] = 0.0; @@ -1153,13 +1150,13 @@ std::vector Calibration::getMeasurementTraces() for(auto d : twoPort->getPoints()) { Trace::Data td; td.x = d.frequency; - td.y = d.S.m11; + td.y = d.S.get(1,1); ts11->addData(td, Trace::DataType::Frequency); - td.y = d.S.m12; + td.y = d.S.get(1,2); ts12->addData(td, Trace::DataType::Frequency); - td.y = d.S.m21; + td.y = d.S.get(2,1); ts21->addData(td, Trace::DataType::Frequency); - td.y = d.S.m22; + td.y = d.S.get(2,2); ts22->addData(td, Trace::DataType::Frequency); } ret.push_back(ts11); diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp index a3ee57e..751fe39 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp @@ -564,8 +564,7 @@ Sparam CalibrationMeasurement::TwoPort::getActual(double frequency) { auto param = static_cast(standard)->toSparam(frequency); if(reverseStandard) { - swap(param.m11, param.m22); - swap(param.m12, param.m21); + param.swapPorts(1, 2); } return param; } diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp index 9cdff17..eabdf4f 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp @@ -734,10 +734,10 @@ Sparam Line::toSparam(double freq) { Q_UNUSED(freq) Sparam ret; - ret.m11 = numeric_limits>::quiet_NaN(); - ret.m12 = numeric_limits>::quiet_NaN(); - ret.m21 = numeric_limits>::quiet_NaN(); - ret.m22 = numeric_limits>::quiet_NaN(); + ret.set(1,1,numeric_limits>::quiet_NaN()); + ret.set(1,2,numeric_limits>::quiet_NaN()); + ret.set(2,1,numeric_limits>::quiet_NaN()); + ret.set(2,2,numeric_limits>::quiet_NaN()); return ret; } diff --git a/Software/PC_Application/LibreVNA-GUI/Device/devicedriver.cpp b/Software/PC_Application/LibreVNA-GUI/Device/devicedriver.cpp index 980011d..1443b5a 100644 --- a/Software/PC_Application/LibreVNA-GUI/Device/devicedriver.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Device/devicedriver.cpp @@ -64,10 +64,10 @@ unsigned int DeviceDriver::SApoints() { Sparam DeviceDriver::VNAMeasurement::toSparam(int port1, int port2) const { Sparam S; - S.m11 = measurements.at("S"+QString::number(port1)+QString::number(port1)); - S.m12 = measurements.at("S"+QString::number(port1)+QString::number(port2)); - S.m21 = measurements.at("S"+QString::number(port2)+QString::number(port1)); - S.m22 = measurements.at("S"+QString::number(port2)+QString::number(port2)); + S.set(1,1, measurements.at("S"+QString::number(port1)+QString::number(port1))); + S.set(1,2, measurements.at("S"+QString::number(port1)+QString::number(port2))); + S.set(2,1, measurements.at("S"+QString::number(port2)+QString::number(port1))); + S.set(2,2, measurements.at("S"+QString::number(port2)+QString::number(port2))); return S; } @@ -78,16 +78,16 @@ void DeviceDriver::VNAMeasurement::fromSparam(Sparam S, int port1, int port2) QString s21 = "S"+QString::number(port2)+QString::number(port1); QString s22 = "S"+QString::number(port2)+QString::number(port2); if(measurements.count(s11)) { - measurements[s11] = S.m11; + measurements[s11] = S.get(1,1); } if(measurements.count(s12)) { - measurements[s12] = S.m12; + measurements[s12] = S.get(1,2); } if(measurements.count(s21)) { - measurements[s21] = S.m21; + measurements[s21] = S.get(2,1); } if(measurements.count(s22)) { - measurements[s22] = S.m22; + measurements[s22] = S.get(2,2); } } diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Cholesky b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Cholesky similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Cholesky rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Cholesky diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/CholmodSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/CholmodSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/CholmodSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/CholmodSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Core b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Core similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Core rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Core diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Dense b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Dense similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Dense rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Dense diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Eigen b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Eigen similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Eigen rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Eigen diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Eigenvalues b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Eigenvalues similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Eigenvalues rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Eigenvalues diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Geometry b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Geometry similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Geometry rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Geometry diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Householder b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Householder similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Householder rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Householder diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/IterativeLinearSolvers b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/IterativeLinearSolvers similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/IterativeLinearSolvers rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/IterativeLinearSolvers diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Jacobi b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Jacobi similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Jacobi rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Jacobi diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/KLUSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/KLUSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/KLUSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/KLUSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/LU b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/LU similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/LU rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/LU diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/MetisSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/MetisSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/MetisSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/MetisSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/OrderingMethods b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/OrderingMethods similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/OrderingMethods rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/OrderingMethods diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/PaStiXSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/PaStiXSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/PaStiXSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/PaStiXSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/PardisoSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/PardisoSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/PardisoSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/PardisoSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/QR b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/QR similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/QR rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/QR diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/QtAlignedMalloc b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/QtAlignedMalloc similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/QtAlignedMalloc rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/QtAlignedMalloc diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SPQRSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SPQRSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SPQRSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SPQRSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SVD b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SVD similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SVD rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SVD diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Sparse b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Sparse similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/Sparse rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/Sparse diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseCholesky b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseCholesky similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseCholesky rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseCholesky diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseCore b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseCore similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseCore rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseCore diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseLU b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseLU similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseLU rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseLU diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseQR b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseQR similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SparseQR rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SparseQR diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/StdDeque b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/StdDeque similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/StdDeque rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/StdDeque diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/StdList b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/StdList similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/StdList rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/StdList diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/StdVector b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/StdVector similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/StdVector rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/StdVector diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SuperLUSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SuperLUSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/SuperLUSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/SuperLUSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/UmfPackSupport b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/UmfPackSupport similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/UmfPackSupport rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/UmfPackSupport diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Cholesky/LDLT.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Cholesky/LDLT.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Cholesky/LDLT.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Cholesky/LDLT.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Cholesky/LLT.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Cholesky/LLT.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Cholesky/LLT.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Cholesky/LLT.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Cholesky/LLT_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Cholesky/LLT_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Cholesky/LLT_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Cholesky/LLT_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/CholmodSupport/CholmodSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/CholmodSupport/CholmodSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/CholmodSupport/CholmodSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/CholmodSupport/CholmodSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ArithmeticSequence.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ArithmeticSequence.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ArithmeticSequence.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ArithmeticSequence.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Array.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Array.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Array.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Array.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ArrayBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ArrayBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ArrayBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ArrayBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ArrayWrapper.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ArrayWrapper.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ArrayWrapper.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ArrayWrapper.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Assign.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Assign.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Assign.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Assign.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/AssignEvaluator.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/AssignEvaluator.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/AssignEvaluator.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/AssignEvaluator.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Assign_MKL.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Assign_MKL.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Assign_MKL.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Assign_MKL.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/BandMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/BandMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/BandMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/BandMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Block.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Block.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Block.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Block.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/BooleanRedux.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/BooleanRedux.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/BooleanRedux.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/BooleanRedux.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CommaInitializer.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CommaInitializer.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CommaInitializer.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CommaInitializer.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ConditionEstimator.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ConditionEstimator.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ConditionEstimator.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ConditionEstimator.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CoreEvaluators.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CoreEvaluators.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CoreEvaluators.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CoreEvaluators.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CoreIterators.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CoreIterators.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CoreIterators.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CoreIterators.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseBinaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseBinaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseBinaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseBinaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseNullaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseNullaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseNullaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseNullaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseTernaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseTernaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseTernaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseTernaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseUnaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseUnaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseUnaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseUnaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseUnaryView.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseUnaryView.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/CwiseUnaryView.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/CwiseUnaryView.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DenseBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DenseBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DenseBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DenseBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DenseCoeffsBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DenseCoeffsBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DenseCoeffsBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DenseCoeffsBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DenseStorage.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DenseStorage.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DenseStorage.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DenseStorage.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Diagonal.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Diagonal.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Diagonal.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Diagonal.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DiagonalMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DiagonalMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DiagonalMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DiagonalMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DiagonalProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DiagonalProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/DiagonalProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/DiagonalProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Dot.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Dot.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Dot.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Dot.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/EigenBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/EigenBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/EigenBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/EigenBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ForceAlignedAccess.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ForceAlignedAccess.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ForceAlignedAccess.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ForceAlignedAccess.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Fuzzy.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Fuzzy.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Fuzzy.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Fuzzy.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/GeneralProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/GeneralProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/GeneralProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/GeneralProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/GenericPacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/GenericPacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/GenericPacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/GenericPacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/GlobalFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/GlobalFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/GlobalFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/GlobalFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/IO.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/IO.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/IO.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/IO.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/IndexedView.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/IndexedView.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/IndexedView.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/IndexedView.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Inverse.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Inverse.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Inverse.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Inverse.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Map.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Map.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Map.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Map.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MapBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MapBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MapBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MapBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MathFunctionsImpl.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MathFunctionsImpl.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MathFunctionsImpl.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MathFunctionsImpl.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Matrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Matrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Matrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Matrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MatrixBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MatrixBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/MatrixBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/MatrixBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/NestByValue.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/NestByValue.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/NestByValue.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/NestByValue.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/NoAlias.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/NoAlias.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/NoAlias.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/NoAlias.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/NumTraits.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/NumTraits.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/NumTraits.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/NumTraits.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/PartialReduxEvaluator.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/PartialReduxEvaluator.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/PartialReduxEvaluator.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/PartialReduxEvaluator.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/PermutationMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/PermutationMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/PermutationMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/PermutationMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/PlainObjectBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/PlainObjectBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/PlainObjectBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/PlainObjectBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Product.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Product.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Product.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Product.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ProductEvaluators.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ProductEvaluators.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ProductEvaluators.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ProductEvaluators.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Random.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Random.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Random.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Random.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Redux.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Redux.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Redux.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Redux.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Ref.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Ref.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Ref.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Ref.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Replicate.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Replicate.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Replicate.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Replicate.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Reshaped.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Reshaped.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Reshaped.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Reshaped.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ReturnByValue.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ReturnByValue.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/ReturnByValue.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/ReturnByValue.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Reverse.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Reverse.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Reverse.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Reverse.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Select.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Select.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Select.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Select.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SelfAdjointView.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SelfAdjointView.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SelfAdjointView.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SelfAdjointView.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SelfCwiseBinaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SelfCwiseBinaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SelfCwiseBinaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SelfCwiseBinaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Solve.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Solve.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Solve.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Solve.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SolveTriangular.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SolveTriangular.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SolveTriangular.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SolveTriangular.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SolverBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SolverBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/SolverBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/SolverBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/StableNorm.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/StableNorm.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/StableNorm.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/StableNorm.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/StlIterators.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/StlIterators.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/StlIterators.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/StlIterators.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Stride.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Stride.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Stride.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Stride.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Swap.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Swap.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Swap.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Swap.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Transpose.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Transpose.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Transpose.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Transpose.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Transpositions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Transpositions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Transpositions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Transpositions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/TriangularMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/TriangularMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/TriangularMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/TriangularMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/VectorBlock.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/VectorBlock.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/VectorBlock.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/VectorBlock.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/VectorwiseOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/VectorwiseOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/VectorwiseOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/VectorwiseOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Visitor.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Visitor.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/Visitor.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/Visitor.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AVX512/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AVX512/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MatrixProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MatrixProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MatrixProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MatrixProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/AltiVec/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/AltiVec/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/CUDA/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/CUDA/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/CUDA/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/CUDA/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/BFloat16.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/BFloat16.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/BFloat16.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/BFloat16.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/ConjHelper.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/ConjHelper.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/ConjHelper.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/ConjHelper.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/Half.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/Half.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/Half.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/Half.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/Settings.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/Settings.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/Settings.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/Settings.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/Default/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/Default/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/GPU/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/GPU/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/GPU/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/GPU/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/GPU/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/GPU/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/GPU/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/GPU/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/GPU/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/GPU/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/GPU/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/GPU/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/HIP/hcc/math_constants.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/HIP/hcc/math_constants.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/HIP/hcc/math_constants.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/HIP/hcc/math_constants.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/MSA/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/MSA/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/MSA/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/MSA/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/MSA/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/MSA/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/MSA/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/MSA/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/MSA/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/MSA/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/MSA/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/MSA/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/NEON/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/NEON/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SSE/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SSE/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SVE/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SVE/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SVE/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SVE/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SVE/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SVE/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SVE/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SVE/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SVE/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SVE/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SVE/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SVE/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/InteropHeaders.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/InteropHeaders.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/InteropHeaders.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/InteropHeaders.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/TypeCasting.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/TypeCasting.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/SYCL/TypeCasting.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/SYCL/TypeCasting.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/ZVector/Complex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/ZVector/Complex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/ZVector/Complex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/ZVector/Complex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/ZVector/MathFunctions.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/ZVector/MathFunctions.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/ZVector/MathFunctions.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/ZVector/MathFunctions.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/ZVector/PacketMath.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/ZVector/PacketMath.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/arch/ZVector/PacketMath.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/arch/ZVector/PacketMath.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/AssignmentFunctors.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/AssignmentFunctors.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/AssignmentFunctors.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/AssignmentFunctors.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/BinaryFunctors.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/BinaryFunctors.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/BinaryFunctors.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/BinaryFunctors.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/NullaryFunctors.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/NullaryFunctors.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/NullaryFunctors.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/NullaryFunctors.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/StlFunctors.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/StlFunctors.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/StlFunctors.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/StlFunctors.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/TernaryFunctors.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/TernaryFunctors.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/TernaryFunctors.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/TernaryFunctors.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/UnaryFunctors.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/UnaryFunctors.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/functors/UnaryFunctors.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/functors/UnaryFunctors.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralBlockPanelKernel.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralBlockPanelKernel.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralBlockPanelKernel.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/Parallelizer.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/Parallelizer.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/Parallelizer.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/Parallelizer.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointRank2Update.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointRank2Update.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/SelfadjointRank2Update.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/SelfadjointRank2Update.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularSolverMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularSolverMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularSolverMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularSolverMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularSolverVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularSolverVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/products/TriangularSolverVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/products/TriangularSolverVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/BlasUtil.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/BlasUtil.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/BlasUtil.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/BlasUtil.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ConfigureVectorization.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ConfigureVectorization.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ConfigureVectorization.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ConfigureVectorization.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Constants.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Constants.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Constants.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Constants.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/DisableStupidWarnings.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/DisableStupidWarnings.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/DisableStupidWarnings.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/DisableStupidWarnings.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ForwardDeclarations.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ForwardDeclarations.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ForwardDeclarations.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ForwardDeclarations.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/IndexedViewHelper.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/IndexedViewHelper.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/IndexedViewHelper.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/IndexedViewHelper.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/IntegralConstant.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/IntegralConstant.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/IntegralConstant.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/IntegralConstant.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/MKL_support.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/MKL_support.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/MKL_support.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/MKL_support.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Macros.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Macros.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Macros.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Macros.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Memory.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Memory.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Memory.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Memory.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Meta.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Meta.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/Meta.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/Meta.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/NonMPL2.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/NonMPL2.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/NonMPL2.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/NonMPL2.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ReenableStupidWarnings.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ReenableStupidWarnings.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ReenableStupidWarnings.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ReenableStupidWarnings.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ReshapedHelper.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ReshapedHelper.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/ReshapedHelper.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/ReshapedHelper.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/StaticAssert.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/StaticAssert.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/StaticAssert.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/StaticAssert.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/SymbolicIndex.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/SymbolicIndex.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/SymbolicIndex.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/SymbolicIndex.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/XprHelper.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/XprHelper.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Core/util/XprHelper.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Core/util/XprHelper.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/ComplexEigenSolver.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/ComplexEigenSolver.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/ComplexEigenSolver.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/ComplexEigenSolver.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/ComplexSchur.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/ComplexSchur.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/ComplexSchur.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/ComplexSchur.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/EigenSolver.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/EigenSolver.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/EigenSolver.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/EigenSolver.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/HessenbergDecomposition.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/HessenbergDecomposition.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/HessenbergDecomposition.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/HessenbergDecomposition.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/RealQZ.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/RealQZ.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/RealQZ.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/RealQZ.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/RealSchur.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/RealSchur.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/RealSchur.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/RealSchur.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/Tridiagonalization.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/Tridiagonalization.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Eigenvalues/Tridiagonalization.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Eigenvalues/Tridiagonalization.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/AlignedBox.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/AlignedBox.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/AlignedBox.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/AlignedBox.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/AngleAxis.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/AngleAxis.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/AngleAxis.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/AngleAxis.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/EulerAngles.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/EulerAngles.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/EulerAngles.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/EulerAngles.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Homogeneous.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Homogeneous.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Homogeneous.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Homogeneous.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Hyperplane.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Hyperplane.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Hyperplane.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Hyperplane.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/OrthoMethods.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/OrthoMethods.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/OrthoMethods.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/OrthoMethods.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/ParametrizedLine.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/ParametrizedLine.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/ParametrizedLine.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/ParametrizedLine.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Quaternion.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Quaternion.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Quaternion.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Quaternion.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Rotation2D.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Rotation2D.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Rotation2D.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Rotation2D.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/RotationBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/RotationBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/RotationBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/RotationBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Scaling.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Scaling.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Scaling.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Scaling.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Transform.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Transform.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Transform.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Transform.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Translation.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Translation.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Translation.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Translation.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Umeyama.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Umeyama.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/Umeyama.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/Umeyama.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/arch/Geometry_SIMD.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/arch/Geometry_SIMD.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Geometry/arch/Geometry_SIMD.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Geometry/arch/Geometry_SIMD.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Householder/BlockHouseholder.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Householder/BlockHouseholder.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Householder/BlockHouseholder.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Householder/BlockHouseholder.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Householder/Householder.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Householder/Householder.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Householder/Householder.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Householder/Householder.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Householder/HouseholderSequence.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Householder/HouseholderSequence.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Householder/HouseholderSequence.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Householder/HouseholderSequence.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Jacobi/Jacobi.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Jacobi/Jacobi.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/Jacobi/Jacobi.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/Jacobi/Jacobi.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/KLUSupport/KLUSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/KLUSupport/KLUSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/KLUSupport/KLUSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/KLUSupport/KLUSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/Determinant.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/Determinant.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/Determinant.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/Determinant.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/FullPivLU.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/FullPivLU.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/FullPivLU.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/FullPivLU.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/InverseImpl.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/InverseImpl.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/InverseImpl.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/InverseImpl.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/PartialPivLU.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/PartialPivLU.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/PartialPivLU.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/PartialPivLU.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/PartialPivLU_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/PartialPivLU_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/PartialPivLU_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/PartialPivLU_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/arch/InverseSize4.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/arch/InverseSize4.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/LU/arch/InverseSize4.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/LU/arch/InverseSize4.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/MetisSupport/MetisSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/MetisSupport/MetisSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/MetisSupport/MetisSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/MetisSupport/MetisSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/OrderingMethods/Amd.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/OrderingMethods/Amd.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/OrderingMethods/Amd.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/OrderingMethods/Amd.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/OrderingMethods/Eigen_Colamd.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/OrderingMethods/Eigen_Colamd.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/OrderingMethods/Eigen_Colamd.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/OrderingMethods/Eigen_Colamd.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/OrderingMethods/Ordering.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/OrderingMethods/Ordering.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/OrderingMethods/Ordering.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/OrderingMethods/Ordering.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/PaStiXSupport/PaStiXSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/PaStiXSupport/PaStiXSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/PaStiXSupport/PaStiXSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/PaStiXSupport/PaStiXSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/PardisoSupport/PardisoSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/PardisoSupport/PardisoSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/PardisoSupport/PardisoSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/PardisoSupport/PardisoSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/ColPivHouseholderQR.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/ColPivHouseholderQR.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/ColPivHouseholderQR.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/ColPivHouseholderQR.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/CompleteOrthogonalDecomposition.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/CompleteOrthogonalDecomposition.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/CompleteOrthogonalDecomposition.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/CompleteOrthogonalDecomposition.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/FullPivHouseholderQR.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/FullPivHouseholderQR.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/FullPivHouseholderQR.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/FullPivHouseholderQR.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/HouseholderQR.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/HouseholderQR.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/HouseholderQR.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/HouseholderQR.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/HouseholderQR_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/HouseholderQR_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/QR/HouseholderQR_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/QR/HouseholderQR_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/BDCSVD.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/BDCSVD.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/BDCSVD.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/BDCSVD.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/JacobiSVD.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/JacobiSVD.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/JacobiSVD.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/JacobiSVD.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/JacobiSVD_LAPACKE.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/JacobiSVD_LAPACKE.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/JacobiSVD_LAPACKE.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/JacobiSVD_LAPACKE.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/SVDBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/SVDBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/SVDBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/SVDBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/UpperBidiagonalization.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/UpperBidiagonalization.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SVD/UpperBidiagonalization.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SVD/UpperBidiagonalization.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCholesky/SimplicialCholesky.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCholesky/SimplicialCholesky.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCholesky/SimplicialCholesky.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCholesky/SimplicialCholesky.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/AmbiVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/AmbiVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/AmbiVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/AmbiVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/CompressedStorage.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/CompressedStorage.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/CompressedStorage.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/CompressedStorage.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/MappedSparseMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/MappedSparseMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/MappedSparseMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/MappedSparseMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseAssign.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseAssign.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseAssign.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseAssign.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseBlock.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseBlock.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseBlock.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseBlock.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseColEtree.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseColEtree.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseColEtree.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseColEtree.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseCompressedBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseCompressedBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseCompressedBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseCompressedBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseCwiseBinaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseCwiseBinaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseCwiseBinaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseCwiseBinaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseCwiseUnaryOp.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseCwiseUnaryOp.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseCwiseUnaryOp.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseCwiseUnaryOp.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseDenseProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseDenseProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseDenseProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseDenseProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseDiagonalProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseDiagonalProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseDiagonalProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseDiagonalProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseDot.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseDot.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseDot.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseDot.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseFuzzy.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseFuzzy.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseFuzzy.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseFuzzy.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseMap.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseMap.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseMap.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseMap.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseMatrixBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseMatrixBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseMatrixBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseMatrixBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparsePermutation.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparsePermutation.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparsePermutation.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparsePermutation.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseProduct.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseProduct.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseProduct.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseProduct.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseRedux.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseRedux.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseRedux.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseRedux.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseRef.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseRef.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseRef.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseRef.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseSelfAdjointView.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseSelfAdjointView.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseSelfAdjointView.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseSelfAdjointView.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseSolverBase.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseSolverBase.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseSolverBase.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseSolverBase.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseSparseProductWithPruning.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseSparseProductWithPruning.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseSparseProductWithPruning.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseSparseProductWithPruning.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseTranspose.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseTranspose.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseTranspose.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseTranspose.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseTriangularView.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseTriangularView.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseTriangularView.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseTriangularView.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseUtil.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseUtil.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseUtil.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseUtil.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseView.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseView.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/SparseView.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/SparseView.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/TriangularSolver.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/TriangularSolver.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseCore/TriangularSolver.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseCore/TriangularSolver.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLUImpl.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLUImpl.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLUImpl.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLUImpl.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_Memory.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_Memory.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_Memory.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_Memory.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_Structs.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_Structs.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_Structs.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_Structs.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_Utils.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_Utils.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_Utils.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_Utils.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_column_bmod.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_column_bmod.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_column_bmod.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_column_bmod.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_column_dfs.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_column_dfs.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_column_dfs.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_column_dfs.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_gemm_kernel.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_gemm_kernel.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_gemm_kernel.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_gemm_kernel.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_kernel_bmod.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_kernel_bmod.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_kernel_bmod.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_kernel_bmod.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_panel_bmod.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_panel_bmod.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_panel_bmod.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_panel_bmod.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_panel_dfs.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_panel_dfs.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_panel_dfs.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_panel_dfs.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_pivotL.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_pivotL.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_pivotL.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_pivotL.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_pruneL.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_pruneL.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_pruneL.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_pruneL.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_relax_snode.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_relax_snode.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseLU/SparseLU_relax_snode.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseLU/SparseLU_relax_snode.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseQR/SparseQR.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseQR/SparseQR.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SparseQR/SparseQR.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SparseQR/SparseQR.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/StdDeque.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/StdDeque.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/StdDeque.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/StdDeque.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/StdList.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/StdList.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/StdList.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/StdList.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/StdVector.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/StdVector.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/StdVector.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/StdVector.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/details.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/details.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/StlSupport/details.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/StlSupport/details.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SuperLUSupport/SuperLUSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SuperLUSupport/SuperLUSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/SuperLUSupport/SuperLUSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/SuperLUSupport/SuperLUSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/UmfPackSupport/UmfPackSupport.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/UmfPackSupport/UmfPackSupport.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/UmfPackSupport/UmfPackSupport.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/UmfPackSupport/UmfPackSupport.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/Image.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/Image.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/Image.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/Image.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/Kernel.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/Kernel.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/Kernel.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/Kernel.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/RealSvd2x2.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/RealSvd2x2.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/RealSvd2x2.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/RealSvd2x2.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/blas.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/blas.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/blas.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/blas.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/lapack.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/lapack.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/lapack.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/lapack.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/lapacke.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/lapacke.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/lapacke.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/lapacke.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/lapacke_mangling.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/lapacke_mangling.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/misc/lapacke_mangling.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/misc/lapacke_mangling.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/ArrayCwiseBinaryOps.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/ArrayCwiseBinaryOps.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/ArrayCwiseBinaryOps.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/ArrayCwiseBinaryOps.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/ArrayCwiseUnaryOps.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/ArrayCwiseUnaryOps.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/ArrayCwiseUnaryOps.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/ArrayCwiseUnaryOps.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/BlockMethods.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/BlockMethods.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/BlockMethods.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/BlockMethods.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/CommonCwiseBinaryOps.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/CommonCwiseBinaryOps.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/CommonCwiseBinaryOps.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/CommonCwiseBinaryOps.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/CommonCwiseUnaryOps.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/CommonCwiseUnaryOps.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/CommonCwiseUnaryOps.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/CommonCwiseUnaryOps.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/IndexedViewMethods.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/IndexedViewMethods.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/IndexedViewMethods.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/IndexedViewMethods.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/MatrixCwiseBinaryOps.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/MatrixCwiseBinaryOps.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/MatrixCwiseBinaryOps.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/MatrixCwiseBinaryOps.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/MatrixCwiseUnaryOps.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/MatrixCwiseUnaryOps.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/MatrixCwiseUnaryOps.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/MatrixCwiseUnaryOps.h diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/ReshapedMethods.h b/Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/ReshapedMethods.h similarity index 100% rename from Software/PC_Application/LibreVNA-GUI/Calibration/Eigen/src/plugins/ReshapedMethods.h rename to Software/PC_Application/LibreVNA-GUI/Tools/Eigen/src/plugins/ReshapedMethods.h diff --git a/Software/PC_Application/LibreVNA-GUI/Tools/parameters.cpp b/Software/PC_Application/LibreVNA-GUI/Tools/parameters.cpp index 2128680..ccdb96e 100644 --- a/Software/PC_Application/LibreVNA-GUI/Tools/parameters.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Tools/parameters.cpp @@ -3,18 +3,20 @@ using namespace std; Sparam::Sparam(const Tparam &t) { - m11 = t.m12 / t.m22; - m21 = Type(1) / t.m22; - m12 = (t.m11*t.m22 - t.m12*t.m21) / t.m22; - m22 = -t.m21 / t.m22; + data = Eigen::MatrixXcd(2,2); + set(1,1, t.get(1,2) / t.get(2,2)); + set(2,1, Type(1) / t.get(2,2)); + set(1,2, (t.get(1,1)*t.get(2,2) - t.get(1,2)*t.get(2,1)) / t.get(2,2)); + set(2,2, -t.get(2,1) / t.get(2,2)); } Sparam::Sparam(const ABCDparam &a, Type Z01, Type Z02) { - auto denom = a.m11*Z02+a.m12+a.m21*Z01*Z02+a.m22*Z01; - m11 = (a.m11*Z02+a.m12-a.m21*conj(Z01)*Z02-a.m22*conj(Z01)) / denom; - m12 = (2.0*(a.m11*a.m22-a.m12*a.m21)*sqrt(real(Z01)*real(Z02))) / denom; - m21 = (2.0*sqrt(real(Z01)*real(Z02))) / denom; - m22 = (-a.m11*conj(Z02)+a.m12-a.m21*Z01*conj(Z02)+a.m22*Z01) / denom; + data = Eigen::MatrixXcd(2,2); + auto denom = a.get(1,1)*Z02+a.get(1,2)+a.get(2,1)*Z01*Z02+a.get(2,2)*Z01; + set(1,1, (a.get(1,1)*Z02+a.get(1,2)-a.get(2,1)*conj(Z01)*Z02-a.get(2,2)*conj(Z01)) / denom); + set(1,2, (2.0*(a.get(1,1)*a.get(2,2)-a.get(1,2)*a.get(2,1))*sqrt(real(Z01)*real(Z02))) / denom); + set(2,1, (2.0*sqrt(real(Z01)*real(Z02))) / denom); + set(2,2, (-a.get(1,1)*conj(Z02)+a.get(1,2)-a.get(2,1)*Z01*conj(Z02)+a.get(2,2)*Z01) / denom); } Sparam::Sparam(const ABCDparam &a, Type Z0) @@ -22,21 +24,43 @@ Sparam::Sparam(const ABCDparam &a, Type Z0) { } +void Sparam::swapPorts(unsigned int p1, unsigned int p2) +{ + // swap columns + data.col(p1-1).swap(data.col(p2-1)); + data.row(p1-1).swap(data.row(p2-1)); + // auto cbuf = data.col(p1-1); + // data.col(p1-1) = data.col(p2-1); + // data.col(p2-1) = cbuf; + // // swap rows + // auto rbuf = data.row(p1-1); + // data.row(p1-1) = data.row(p2-1); + // data.row(p2-1) = rbuf; +} + ABCDparam::ABCDparam(const Sparam &s, Type Z01, Type Z02) { - auto denom = 2.0*s.m21*sqrt(real(Z01)*real(Z02)); - m11 = ((conj(Z01)+s.m11*Z01)*(1.0-s.m22)+s.m12*s.m21*Z01) / denom; - m12 = ((conj(Z01)+s.m11*Z01)*(conj(Z02)+s.m22*Z02)-s.m12*s.m21*Z01*Z02) / denom; - m21 = ((1.0-s.m11)*(1.0-s.m22)-s.m12*s.m21) / denom; - m22 = ((1.0-s.m11)*(conj(Z02)+s.m22*Z02)+s.m12*s.m21*Z02) / denom; + if(s.ports() != 2) { + throw std::runtime_error("Can only create ABCD parameter from 2 port S parameters"); + } + data = Eigen::MatrixXcd(2,2); + auto denom = 2.0*s.get(2,1)*sqrt(real(Z01)*real(Z02)); + set(1,1, ((conj(Z01)+s.get(1,1)*Z01)*(1.0-s.get(2,2))+s.get(1,2)*s.get(2,1)*Z01) / denom); + set(1,2, ((conj(Z01)+s.get(1,1)*Z01)*(conj(Z02)+s.get(2,2)*Z02)-s.get(1,2)*s.get(2,1)*Z01*Z02) / denom); + set(2,1, ((1.0-s.get(1,1))*(1.0-s.get(2,2))-s.get(1,2)*s.get(2,1)) / denom); + set(2,2, ((1.0-s.get(1,1))*(conj(Z02)+s.get(2,2)*Z02)+s.get(1,2)*s.get(2,1)*Z02) / denom); } Tparam::Tparam(const Sparam &s) { - m11 = -(s.m11*s.m22 - s.m12*s.m21) / s.m21; - m12 = s.m11 / s.m21; - m21 = -s.m22 / s.m21; - m22 = 1.0 / s.m21; + if(s.ports() != 2) { + throw std::runtime_error("Can only create ABCD parameter from 2 port S parameters"); + } + data = Eigen::MatrixXcd(2,2); + set(1,1, -(s.get(1,1)*s.get(2,2) - s.get(1,2)*s.get(2,1)) / s.get(2,1)); + set(1,2, s.get(1,1) / s.get(2,1)); + set(2,1, -s.get(2,2) / s.get(2,1)); + set(2,2, 1.0 / s.get(2,1)); } ABCDparam::ABCDparam(const Sparam &s, Type Z0) @@ -44,36 +68,77 @@ ABCDparam::ABCDparam(const Sparam &s, Type Z0) { } +Parameters::Parameters(Type m11, Type m12, Type m21, Type m22) + : Parameters(2) +{ + data(0, 0) = m11; + data(0, 1) = m12; + data(1, 0) = m21; + data(1, 1) = m22; +} + +Parameters::Parameters(int num_ports) +{ + data = Eigen::MatrixXd::Zero(num_ports, num_ports); +} + nlohmann::json Parameters::toJSON() { - nlohmann::json j; - j["m11_real"] = m11.real(); - j["m11_imag"] = m11.imag(); - j["m12_real"] = m12.real(); - j["m12_imag"] = m12.imag(); - j["m21_real"] = m21.real(); - j["m21_imag"] = m21.imag(); - j["m22_real"] = m22.real(); - j["m22_imag"] = m22.imag(); - return j; + nlohmann::json ret; + for(unsigned int i=0;i(j.value("m11_real", 0.0), j.value("m11_imag", 0.0)); - m12 = complex(j.value("m12_real", 0.0), j.value("m12_imag", 0.0)); - m21 = complex(j.value("m21_real", 0.0), j.value("m21_imag", 0.0)); - m22 = complex(j.value("m22_real", 0.0), j.value("m22_imag", 0.0)); + // figure out how many ports we need + unsigned int max_port = 0; + for(auto names : j.items()) { + auto key = QString::fromStdString(names.key()); + unsigned int i = key.mid(1, 1).toInt(); + unsigned int j = key.mid(2, 1).toInt(); + if(i > max_port) { + max_port = i; + } + if(j > max_port) { + max_port = j; + } + } + data = Eigen::MatrixXcd(max_port, max_port); + for(unsigned int i=0;i(j.value(s_real, 0.0), j.value(s_imag, 0.0)); + } else { + // no data, set to zero + data(i, _j) = 0; + } + } + } } Yparam::Yparam(const Sparam &s, Type Z01, Type Z02) { + // TODO can this be done for any number of ports + if(s.ports() != 2) { + throw std::runtime_error("Can only create ABCD parameter from 2 port S parameters"); + } + data = Eigen::MatrixXcd(2,2); // from https://www.rfcafe.com/references/electrical/s-h-y-z.htm - auto denom = (conj(Z01)+s.m11*Z01)*(conj(Z02)+s.m22*Z02)-s.m12*s.m21*Z01*Z02; - m11 = ((1.0-s.m11)*(conj(Z02)+s.m22*Z02)+s.m12*s.m21*Z02) / denom; - m12 = -2.0*s.m12*sqrt(real(Z01)*real(Z02)); - m21 = -2.0*s.m21*sqrt(real(Z01)*real(Z02)); - m22 = ((conj(Z01)+s.m11*Z01)*(1.0-s.m22)+s.m12*s.m21*Z01) / denom; + auto denom = (conj(Z01)+s.get(1,1)*Z01)*(conj(Z02)+s.get(2,2)*Z02)-s.get(1,2)*s.get(2,1)*Z01*Z02; + set(1,1, ((1.0-s.get(1,1))*(conj(Z02)+s.get(2,2)*Z02)+s.get(1,2)*s.get(2,1)*Z02) / denom); + set(1,2, -2.0*s.get(1,2)*sqrt(real(Z01)*real(Z02))); + set(2,1, -2.0*s.get(2,1)*sqrt(real(Z01)*real(Z02))); + set(2,2, ((conj(Z01)+s.get(1,1)*Z01)*(1.0-s.get(2,2))+s.get(1,2)*s.get(2,1)*Z01) / denom); } Yparam::Yparam(const Sparam &s, Type Z0) diff --git a/Software/PC_Application/LibreVNA-GUI/Tools/parameters.h b/Software/PC_Application/LibreVNA-GUI/Tools/parameters.h index 2da96a7..ea723c6 100644 --- a/Software/PC_Application/LibreVNA-GUI/Tools/parameters.h +++ b/Software/PC_Application/LibreVNA-GUI/Tools/parameters.h @@ -5,15 +5,23 @@ #include +#include "Eigen/Dense" + using Type = std::complex; class Parameters : public Savable { public: - Parameters(Type m11, Type m12, Type m21, Type m22) - : m11(m11), m12(m12), m21(m21), m22(m22){} - Parameters() : m11(0.0),m12(0.0),m21(0.0),m22(0.0){} + Parameters(Type m11, Type m12, Type m21, Type m22); + Parameters(int num_ports); + Parameters() : Parameters(2){} - Type m11, m12, m21, m22; + Eigen::MatrixXcd data; + + unsigned int ports() const { return data.cols();} + + // Access to elements is usually off-by-one (mostly 1-based indexing in literature but Eigen uses 0-based indexing) + Type get(unsigned int row, unsigned int col) const {return data(row-1, col-1);} + void set(unsigned int row, unsigned int col, Type t) { data(row-1, col-1) = t;} nlohmann::json toJSON() override; void fromJSON(nlohmann::json j) override; @@ -31,54 +39,54 @@ public: Sparam(const ABCDparam &a, Type Z01, Type Z02); Sparam(const ABCDparam &a, Type Z0); Sparam operator+(const Sparam &r) const { - Sparam p; - p.m11 = this->m11+r.m11; - p.m12 = this->m12+r.m12; - p.m21 = this->m21+r.m21; - p.m22 = this->m22+r.m22; + Sparam p(ports()); + p.data = data+r.data; return p; } Sparam operator*(const Type &r) const { - Sparam p(m11*r, m12*r, m21*r, m22*r); + Sparam p(ports()); + p.data = data * r; return p; } + void swapPorts(unsigned int p1, unsigned int p2); }; class ABCDparam : public Parameters { public: using Parameters::Parameters; + ABCDparam() : Parameters(2){} ABCDparam(const Sparam &s, Type Z01, Type Z02); ABCDparam(const Sparam &s, Type Z0); ABCDparam operator*(const ABCDparam &r) { ABCDparam p; - p.m11 = this->m11*r.m11 + this->m12*r.m21; - p.m12 = this->m11*r.m12 + this->m12*r.m22; - p.m21 = this->m21*r.m11 + this->m22*r.m21; - p.m22 = this->m21*r.m12 + this->m22*r.m22; + // ABCD parameters can be multiplied by matrix multiplication + p.data = data * r.data; return p; } ABCDparam inverse() { ABCDparam i; - Type det = m11*m22 - m12*m21; - i.m11 = m22 / det; - i.m12 = -m12 / det; - i.m21 = -m21 / det; - i.m22 = m11 / det; + // by hand, this is faster because the Eigen matrix is using dynamic size + Type det = data(0,0)*data(1,1) - data(0,1)*data(2,1); + i.data(0,0) = data(1,1) / det; + i.data(0,1) = -data(0,1) / det; + i.data(1,0) = -data(1,0) / det; + i.data(1,1) = data(0,0) / det; return i; } - ABCDparam operator*(const Type &r) { - ABCDparam p(m11*r, m12*r, m21*r, m22*r); + ABCDparam operator*(const Type &r) const { + ABCDparam p; + p.data = data * r; return p; } ABCDparam root() { // calculate root of 2x2 matrix, according to https://en.wikipedia.org/wiki/Square_root_of_a_2_by_2_matrix (choose positive roots) - auto tau = m11 + m22; - auto sigma = m11*m22 - m12*m21; + auto tau = data(0,0) + data(1,1); + auto sigma = data(0,0)*data(1,1) - data(0,1)*data(1,0); auto s = sqrt(sigma); auto t = sqrt(tau + 2.0*s); ABCDparam r = *this; - r.m11 += s; - r.m22 += s; + r.data(0,0) += s; + r.data(1,1) += s; r = r * (1.0/t); return r; } @@ -90,42 +98,43 @@ public: Tparam(const Sparam &s); Tparam operator*(const Tparam &r) { Tparam p; - p.m11 = this->m11*r.m11 + this->m12*r.m21; - p.m12 = this->m11*r.m12 + this->m12*r.m22; - p.m21 = this->m21*r.m11 + this->m22*r.m21; - p.m22 = this->m21*r.m12 + this->m22*r.m22; + // T parameters can be multiplied by matrix multiplication + p.data = data * r.data; return p; } Tparam operator+(const Tparam &r) { Tparam p; - p.m11 = this->m11+r.m11; - p.m12 = this->m12+r.m12; - p.m21 = this->m21+r.m21; - p.m22 = this->m22+r.m22; + p.data = data + r.data; return p; } Tparam inverse() { Tparam i; - Type det = m11*m22 - m12*m21; - i.m11 = m22 / det; - i.m12 = -m12 / det; - i.m21 = -m21 / det; - i.m22 = m11 / det; + Type det = data(0,0)*data(1,1) - data(0,1)*data(2,1); + i.data(0,0) = data(1,1) / det; + i.data(0,1) = -data(0,1) / det; + i.data(1,0) = -data(1,0) / det; + i.data(1,1) = data(0,0) / det; return i; } Tparam operator*(const Type &r) { - Tparam p(m11*r, m12*r, m21*r, m22*r); + Tparam p; + p.data = data * r; + return p; + } + Tparam operator*(const double &r) { + Tparam p; + p.data = data * r; return p; } Tparam root() { // calculate root of 2x2 matrix, according to https://en.wikipedia.org/wiki/Square_root_of_a_2_by_2_matrix (choose positive roots) - auto tau = m11 + m22; - auto sigma = m11*m22 - m12*m21; + auto tau = data(0,0) + data(1,1); + auto sigma = data(0,0)*data(1,1) - data(0,1)*data(1,0); auto s = sqrt(sigma); auto t = sqrt(tau + 2.0*s); Tparam r = *this; - r.m11 += s; - r.m22 += s; + r.data(0,0) += s; + r.data(1,1) += s; r = r * (1.0/t); return r; } diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp index 154cc7a..2ccb30b 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp @@ -51,19 +51,19 @@ void ImpedanceRenormalization::transformDatapoint(DeviceDriver::VNAMeasurement & transformed[S11name] = Util::ImpedanceToSparam(Util::SparamToImpedance(S11, p.Z0), impedance); // handle transmission parameters for(auto j=i+1;j<=ports;j++) { - auto S12name = "S"+QString::number(i)+QString::number(j); - auto S21name = "S"+QString::number(j)+QString::number(i); - auto S22name = "S"+QString::number(j)+QString::number(j); - if(!p.measurements.count(S12name) || !p.measurements.count(S21name) || !p.measurements.count(S22name)) { - // not all measurements available, skip this - continue; - } - auto S12 = p.measurements[S12name]; - auto S21 = p.measurements[S21name]; - auto S22 = p.measurements[S22name]; + auto S12name = "S"+QString::number(i)+QString::number(j); + auto S21name = "S"+QString::number(j)+QString::number(i); + auto S22name = "S"+QString::number(j)+QString::number(j); + if(!p.measurements.count(S12name) || !p.measurements.count(S21name) || !p.measurements.count(S22name)) { + // not all measurements available, skip this + continue; + } + auto S12 = p.measurements[S12name]; + auto S21 = p.measurements[S21name]; + auto S22 = p.measurements[S22name]; auto S_t = Sparam(ABCDparam(Sparam(S11, S12, S21, S22), p.Z0), impedance); - transformed[S12name] = S_t.m12; - transformed[S21name] = S_t.m21; + transformed[S12name] = S_t.get(1,2); + transformed[S21name] = S_t.get(2,1); } } p.measurements = transformed; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp index 1e070f6..7aec3ae 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp @@ -108,7 +108,7 @@ void MatchingNetwork::transformDatapoint(DeviceDriver::VNAMeasurement &p) } // calculate internal reflection at the matching port auto portReflectionS = uncorrected.measurements[portReflectionName]; - auto matchingReflectionS = Sparam(m.forward, p.Z0).m22; + auto matchingReflectionS = Sparam(m.forward, p.Z0).get(2,2); auto internalPortReflectionS = matchingReflectionS / (1.0 - matchingReflectionS * portReflectionS); // handle the measurements @@ -122,7 +122,7 @@ void MatchingNetwork::transformDatapoint(DeviceDriver::VNAMeasurement &p) // the port of the matching network itself auto S = Sparam(uncorrected.measurements[name], 1.0, 1.0, 0.0); auto corrected = Sparam(m.forward * ABCDparam(S, p.Z0), p.Z0); - p.measurements[name] = corrected.m11; + p.measurements[name] = corrected.get(1,1); } else { // another reflection measurement try { @@ -685,7 +685,7 @@ ABCDparam MatchingComponent::parameters(double freq) } else { auto d = touchstone->interpolate(freq); auto Y = Yparam(Sparam(d.S[0], d.S[1], d.S[2], d.S[3]), touchstone->getReferenceImpedance()); - return ABCDparam(1.0, 0.0, Y.m11, 1.0); + return ABCDparam(1.0, 0.0, Y.get(1,1), 1.0); } default: return ABCDparam(1.0, 0.0, 0.0, 1.0); diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp index 8217440..824bf57 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp @@ -205,22 +205,22 @@ nlohmann::json TwoThru::toJSON() for(auto p : points) { nlohmann::json jp; jp["frequency"] = p.freq; - jp["p1_11_r"] = p.inverseP1.m11.real(); - jp["p1_11_i"] = p.inverseP1.m11.imag(); - jp["p1_12_r"] = p.inverseP1.m12.real(); - jp["p1_12_i"] = p.inverseP1.m12.imag(); - jp["p1_21_r"] = p.inverseP1.m21.real(); - jp["p1_21_i"] = p.inverseP1.m21.imag(); - jp["p1_22_r"] = p.inverseP1.m22.real(); - jp["p1_22_i"] = p.inverseP1.m22.imag(); - jp["p2_11_r"] = p.inverseP2.m11.real(); - jp["p2_11_i"] = p.inverseP2.m11.imag(); - jp["p2_12_r"] = p.inverseP2.m12.real(); - jp["p2_12_i"] = p.inverseP2.m12.imag(); - jp["p2_21_r"] = p.inverseP2.m21.real(); - jp["p2_21_i"] = p.inverseP2.m21.imag(); - jp["p2_22_r"] = p.inverseP2.m22.real(); - jp["p2_22_i"] = p.inverseP2.m22.imag(); + jp["p1_11_r"] = p.inverseP1.get(1,1).real(); + jp["p1_11_i"] = p.inverseP1.get(1,1).imag(); + jp["p1_12_r"] = p.inverseP1.get(1,2).real(); + jp["p1_12_i"] = p.inverseP1.get(1,2).imag(); + jp["p1_21_r"] = p.inverseP1.get(2,1).real(); + jp["p1_21_i"] = p.inverseP1.get(2,1).imag(); + jp["p1_22_r"] = p.inverseP1.get(2,2).real(); + jp["p1_22_i"] = p.inverseP1.get(2,2).imag(); + jp["p2_11_r"] = p.inverseP2.get(1,1).real(); + jp["p2_11_i"] = p.inverseP2.get(1,1).imag(); + jp["p2_12_r"] = p.inverseP2.get(1,2).real(); + jp["p2_12_i"] = p.inverseP2.get(1,2).imag(); + jp["p2_21_r"] = p.inverseP2.get(2,1).real(); + jp["p2_21_i"] = p.inverseP2.get(2,1).imag(); + jp["p2_22_r"] = p.inverseP2.get(2,2).real(); + jp["p2_22_i"] = p.inverseP2.get(2,2).imag(); jpoints.push_back(jp); } j["points"] = jpoints; @@ -249,14 +249,14 @@ void TwoThru::fromJSON(nlohmann::json j) for(auto jp : jpoints) { Point p; p.freq = jp.value("frequency", 0.0); - p.inverseP1.m11 = complex(jp.value("p1_11_r", 0.0), jp.value("p1_11_i", 0.0)); - p.inverseP1.m12 = complex(jp.value("p1_12_r", 0.0), jp.value("p1_12_i", 0.0)); - p.inverseP1.m21 = complex(jp.value("p1_21_r", 0.0), jp.value("p1_21_i", 0.0)); - p.inverseP1.m22 = complex(jp.value("p1_22_r", 0.0), jp.value("p1_22_i", 0.0)); - p.inverseP2.m11 = complex(jp.value("p2_11_r", 0.0), jp.value("p2_11_i", 0.0)); - p.inverseP2.m12 = complex(jp.value("p2_12_r", 0.0), jp.value("p2_12_i", 0.0)); - p.inverseP2.m21 = complex(jp.value("p2_21_r", 0.0), jp.value("p2_21_i", 0.0)); - p.inverseP2.m22 = complex(jp.value("p2_22_r", 0.0), jp.value("p2_22_i", 0.0)); + p.inverseP1.set(1,1, complex(jp.value("p1_11_r", 0.0), jp.value("p1_11_i", 0.0))); + p.inverseP1.set(1,2, complex(jp.value("p1_12_r", 0.0), jp.value("p1_12_i", 0.0))); + p.inverseP1.set(2,1, complex(jp.value("p1_21_r", 0.0), jp.value("p1_21_i", 0.0))); + p.inverseP1.set(2,2, complex(jp.value("p1_22_r", 0.0), jp.value("p1_22_i", 0.0))); + p.inverseP2.set(1,1, complex(jp.value("p2_11_r", 0.0), jp.value("p2_11_i", 0.0))); + p.inverseP2.set(1,2, complex(jp.value("p2_12_r", 0.0), jp.value("p2_12_i", 0.0))); + p.inverseP2.set(2,1, complex(jp.value("p2_21_r", 0.0), jp.value("p2_21_i", 0.0))); + p.inverseP2.set(2,2, complex(jp.value("p2_22_r", 0.0), jp.value("p2_22_i", 0.0))); points.push_back(p); } } @@ -281,10 +281,10 @@ std::vector TwoThru::calculateErrorBoxes(std::vector TwoThru::calculateErrorBoxes(std::vector TwoThru::calculateErrorBoxes(std::vector> s212x; for(auto s : p) { - s212x.push_back(s.m21); + s212x.push_back(s.get(2,1)); } // get the attenuation and phase constant per length @@ -584,14 +584,14 @@ std::vector TwoThru::calculateErrorBoxes(std::vector> s111x, s221x; for(auto s : errorbox) { - s111x.push_back(s.m11); - s221x.push_back(s.m22); + s111x.push_back(s.get(1,1)); + s221x.push_back(s.get(2,2)); } // grab s21 of the 2x thru measurement vector> s212x; for(auto s : data_2xthru) { - s212x.push_back(s.m21); + s212x.push_back(s.get(2,1)); } auto f = freq_2xthru; @@ -623,7 +623,7 @@ std::vector TwoThru::calculateErrorBoxes(std::vector TwoThru::calculateErrorBoxes(std::vector> s_dut; for(auto s : data_dut) { - s_dut.push_back(s.m11); + s_dut.push_back(s.get(1,1)); } // define the point for extraction @@ -692,11 +692,13 @@ std::vector TwoThru::calculateErrorBoxes(std::vector data_fix_dut_fix_reversed; for(auto s : data_fix_dut_fix_Sparam) { - data_fix_dut_fix_reversed.push_back(Sparam(s.m22, s.m21, s.m12, s.m11)); + s.swapPorts(1,2); + data_fix_dut_fix_reversed.push_back(s); } vector data_2xthru_reversed; for(auto s : data_2xthru_Sparam) { - data_2xthru_reversed.push_back(Sparam(s.m22, s.m21, s.m12, s.m11)); + s.swapPorts(1,2); + data_2xthru_reversed.push_back(s); } // make the second error box @@ -708,7 +710,8 @@ std::vector TwoThru::calculateErrorBoxes(std::vector C = -2.7673838933081734e-09 + 6.9983236736743502e-06i; std::complex D = 0.99978420576400329 + 0.00024674711602337137i; - QVERIFY(qFuzzyCompare(abcd.m11.real(), A.real())); - QVERIFY(qFuzzyCompare(abcd.m11.imag(), A.imag())); - QVERIFY(qFuzzyCompare(abcd.m12.real(), B.real())); - QVERIFY(qFuzzyCompare(abcd.m12.imag(), B.imag())); - QVERIFY(qFuzzyCompare(abcd.m21.real(), C.real())); - QVERIFY(qFuzzyCompare(abcd.m21.imag(), C.imag())); - QVERIFY(qFuzzyCompare(abcd.m22.real(), D.real())); - QVERIFY(qFuzzyCompare(abcd.m22.imag(), D.imag())); + QVERIFY(qFuzzyCompare(abcd.get(1,1).real(), A.real())); + QVERIFY(qFuzzyCompare(abcd.get(1,1).imag(), A.imag())); + QVERIFY(qFuzzyCompare(abcd.get(1,2).real(), B.real())); + QVERIFY(qFuzzyCompare(abcd.get(1,2).imag(), B.imag())); + QVERIFY(qFuzzyCompare(abcd.get(2,1).real(), C.real())); + QVERIFY(qFuzzyCompare(abcd.get(2,1).imag(), C.imag())); + QVERIFY(qFuzzyCompare(abcd.get(2,2).real(), D.real())); + QVERIFY(qFuzzyCompare(abcd.get(2,2).imag(), D.imag())); } void ParameterTests::ABCD2S() @@ -52,12 +52,12 @@ void ParameterTests::ABCD2S() std::complex S21 = 0.9964 - 0.0254i; std::complex S22 = 0.0037 + 0.0249i; - QVERIFY(qFuzzyCompare(s.m11.real(), S11.real())); - QVERIFY(qFuzzyCompare(s.m11.imag(), S11.imag())); - QVERIFY(qFuzzyCompare(s.m12.real(), S12.real())); - QVERIFY(qFuzzyCompare(s.m12.imag(), S12.imag())); - QVERIFY(qFuzzyCompare(s.m21.real(), S21.real())); - QVERIFY(qFuzzyCompare(s.m21.imag(), S21.imag())); - QVERIFY(qFuzzyCompare(s.m22.real(), S22.real())); - QVERIFY(qFuzzyCompare(s.m22.imag(), S22.imag())); + QVERIFY(qFuzzyCompare(s.get(1,1).real(), S11.real())); + QVERIFY(qFuzzyCompare(s.get(1,1).imag(), S11.imag())); + QVERIFY(qFuzzyCompare(s.get(1,2).real(), S12.real())); + QVERIFY(qFuzzyCompare(s.get(1,2).imag(), S12.imag())); + QVERIFY(qFuzzyCompare(s.get(2,1).real(), S21.real())); + QVERIFY(qFuzzyCompare(s.get(2,1).imag(), S21.imag())); + QVERIFY(qFuzzyCompare(s.get(2,2).real(), S22.real())); + QVERIFY(qFuzzyCompare(s.get(2,2).imag(), S22.imag())); }