pyvale 2026.1.1__cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- include/eigen3/Eigen/Cholesky +45 -0
- include/eigen3/Eigen/CholmodSupport +48 -0
- include/eigen3/Eigen/Core +384 -0
- include/eigen3/Eigen/Dense +7 -0
- include/eigen3/Eigen/Eigen +2 -0
- include/eigen3/Eigen/Eigenvalues +60 -0
- include/eigen3/Eigen/Geometry +59 -0
- include/eigen3/Eigen/Householder +29 -0
- include/eigen3/Eigen/IterativeLinearSolvers +48 -0
- include/eigen3/Eigen/Jacobi +32 -0
- include/eigen3/Eigen/KLUSupport +41 -0
- include/eigen3/Eigen/LU +47 -0
- include/eigen3/Eigen/MetisSupport +35 -0
- include/eigen3/Eigen/OrderingMethods +70 -0
- include/eigen3/Eigen/PaStiXSupport +49 -0
- include/eigen3/Eigen/PardisoSupport +35 -0
- include/eigen3/Eigen/QR +50 -0
- include/eigen3/Eigen/QtAlignedMalloc +39 -0
- include/eigen3/Eigen/SPQRSupport +34 -0
- include/eigen3/Eigen/SVD +50 -0
- include/eigen3/Eigen/Sparse +34 -0
- include/eigen3/Eigen/SparseCholesky +37 -0
- include/eigen3/Eigen/SparseCore +69 -0
- include/eigen3/Eigen/SparseLU +50 -0
- include/eigen3/Eigen/SparseQR +36 -0
- include/eigen3/Eigen/StdDeque +27 -0
- include/eigen3/Eigen/StdList +26 -0
- include/eigen3/Eigen/StdVector +27 -0
- include/eigen3/Eigen/SuperLUSupport +64 -0
- include/eigen3/Eigen/UmfPackSupport +40 -0
- include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
- include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
- include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
- include/eigen3/Eigen/src/Core/Array.h +417 -0
- include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
- include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
- include/eigen3/Eigen/src/Core/Assign.h +90 -0
- include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
- include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
- include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
- include/eigen3/Eigen/src/Core/Block.h +448 -0
- include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
- include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
- include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
- include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
- include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
- include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
- include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
- include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
- include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
- include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
- include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
- include/eigen3/Eigen/src/Core/Dot.h +318 -0
- include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
- include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
- include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
- include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
- include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
- include/eigen3/Eigen/src/Core/IO.h +258 -0
- include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
- include/eigen3/Eigen/src/Core/Inverse.h +117 -0
- include/eigen3/Eigen/src/Core/Map.h +171 -0
- include/eigen3/Eigen/src/Core/MapBase.h +310 -0
- include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
- include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- include/eigen3/Eigen/src/Core/Matrix.h +565 -0
- include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
- include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
- include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
- include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
- include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
- include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
- include/eigen3/Eigen/src/Core/Product.h +191 -0
- include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
- include/eigen3/Eigen/src/Core/Random.h +218 -0
- include/eigen3/Eigen/src/Core/Redux.h +515 -0
- include/eigen3/Eigen/src/Core/Ref.h +381 -0
- include/eigen3/Eigen/src/Core/Replicate.h +142 -0
- include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
- include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
- include/eigen3/Eigen/src/Core/Reverse.h +217 -0
- include/eigen3/Eigen/src/Core/Select.h +164 -0
- include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
- include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- include/eigen3/Eigen/src/Core/Solve.h +188 -0
- include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
- include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
- include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
- include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
- include/eigen3/Eigen/src/Core/Stride.h +116 -0
- include/eigen3/Eigen/src/Core/Swap.h +68 -0
- include/eigen3/Eigen/src/Core/Transpose.h +464 -0
- include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
- include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
- include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
- include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
- include/eigen3/Eigen/src/Core/Visitor.h +381 -0
- include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
- include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
- include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
- include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
- include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
- include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
- include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
- include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
- include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
- include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
- include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
- include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
- include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
- include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
- include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
- include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
- include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
- include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
- include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
- include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
- include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
- include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
- include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
- include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
- include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
- include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
- include/eigen3/Eigen/src/Householder/Householder.h +176 -0
- include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
- include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- include/eigen3/Eigen/src/LU/Determinant.h +117 -0
- include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
- include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
- include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
- include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
- include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
- include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
- include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
- include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
- include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
- include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
- include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
- include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
- include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
- include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
- include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
- include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
- include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
- include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
- include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
- include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
- include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
- include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
- include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
- include/eigen3/Eigen/src/StlSupport/details.h +84 -0
- include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- include/eigen3/Eigen/src/misc/Image.h +82 -0
- include/eigen3/Eigen/src/misc/Kernel.h +79 -0
- include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
- include/eigen3/Eigen/src/misc/blas.h +440 -0
- include/eigen3/Eigen/src/misc/lapack.h +152 -0
- include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
- include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
- include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
- include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
- include/eigen3/signature_of_eigen3_matrix_library +1 -0
- include/eigen3/unsupported/Eigen/AdolcForward +159 -0
- include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
- include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
- include/eigen3/unsupported/Eigen/AutoDiff +46 -0
- include/eigen3/unsupported/Eigen/BVH +95 -0
- include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
- include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
- include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
- include/eigen3/unsupported/Eigen/EulerAngles +43 -0
- include/eigen3/unsupported/Eigen/FFT +419 -0
- include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
- include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
- include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
- include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
- include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
- include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
- include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
- include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
- include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
- include/eigen3/unsupported/Eigen/Polynomials +137 -0
- include/eigen3/unsupported/Eigen/Skyline +39 -0
- include/eigen3/unsupported/Eigen/SparseExtra +54 -0
- include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
- include/eigen3/unsupported/Eigen/Splines +35 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
- include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
- include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
- include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
- include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
- include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
- include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
- include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
- include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
- include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
- include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
- include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
- pyvale/__init__.py +23 -0
- pyvale/blender/__init__.py +23 -0
- pyvale/blender/blendercalibrationdata.py +17 -0
- pyvale/blender/blenderexceptions.py +8 -0
- pyvale/blender/blenderlightdata.py +26 -0
- pyvale/blender/blendermaterialdata.py +15 -0
- pyvale/blender/blenderrenderdata.py +35 -0
- pyvale/blender/blenderscene.py +493 -0
- pyvale/blender/blendertools.py +449 -0
- pyvale/calib/__init__.py +11 -0
- pyvale/calib/calibcpp.cpython-311-i386-linux-gnu.so +0 -0
- pyvale/calib/calibdotdetect.py +510 -0
- pyvale/calib/calibparams.py +47 -0
- pyvale/calib/calibstereo.py +441 -0
- pyvale/calib/cpp/bindings.cpp +22 -0
- pyvale/calib/cpp/calibdotdetect.cpp +16 -0
- pyvale/calib/cpp/calibdotdetect.hpp +20 -0
- pyvale/calib/cpp/calibopt.cpp +347 -0
- pyvale/calib/cpp/calibopt.hpp +84 -0
- pyvale/calib/cpp/calibstereo.cpp +95 -0
- pyvale/calib/cpp/calibstereo.hpp +27 -0
- pyvale/common_cpp/__init__.py +5 -0
- pyvale/common_cpp/bindings.cpp +33 -0
- pyvale/common_cpp/common_cpp.cpython-311-i386-linux-gnu.so +0 -0
- pyvale/common_cpp/defines.hpp +39 -0
- pyvale/common_cpp/dicsignalhandler.cpp +16 -0
- pyvale/common_cpp/dicsignalhandler.hpp +11 -0
- pyvale/common_cpp/pocketfft_hdronly.h +3744 -0
- pyvale/common_cpp/progressbar.hpp +107 -0
- pyvale/common_cpp/util.cpp +19 -0
- pyvale/common_cpp/util.hpp +72 -0
- pyvale/common_py/util.py +63 -0
- pyvale/data/DIC_Challenge_Star_Noise_Def.tiff +0 -0
- pyvale/data/DIC_Challenge_Star_Noise_Ref.tiff +0 -0
- pyvale/data/__init__.py +5 -0
- pyvale/data/cal_target.tiff +0 -0
- pyvale/data/calib.caldat +26 -0
- pyvale/data/case00_HEX20_out.e +0 -0
- pyvale/data/case00_HEX27_out.e +0 -0
- pyvale/data/case00_HEX8_out.e +0 -0
- pyvale/data/case00_TET10_out.e +0 -0
- pyvale/data/case00_TET14_out.e +0 -0
- pyvale/data/case00_TET4_out.e +0 -0
- pyvale/data/case16_d_out.e +0 -0
- pyvale/data/case16_out.e +0 -0
- pyvale/data/case17_out.e +0 -0
- pyvale/data/case18_d_out.e +0 -0
- pyvale/data/case18_out.e +0 -0
- pyvale/data/case26_out.e +0 -0
- pyvale/data/optspeckle_2464x2056px_spec5px_8bit_gblur1px.tiff +0 -0
- pyvale/data/plate_hole_def0000.tiff +0 -0
- pyvale/data/plate_hole_def0001.tiff +0 -0
- pyvale/data/plate_hole_ref0000.tiff +0 -0
- pyvale/data/plate_rigid_def0000.tiff +0 -0
- pyvale/data/plate_rigid_def0001.tiff +0 -0
- pyvale/data/plate_rigid_def_25px.tiff +0 -0
- pyvale/data/plate_rigid_def_50px.tiff +0 -0
- pyvale/data/plate_rigid_ref0000.tiff +0 -0
- pyvale/dataset/__init__.py +7 -0
- pyvale/dataset/dataset.py +483 -0
- pyvale/dic/__init__.py +15 -0
- pyvale/dic/cpp/bindings.cpp +52 -0
- pyvale/dic/cpp/dicfourier.cpp +705 -0
- pyvale/dic/cpp/dicfourier.hpp +410 -0
- pyvale/dic/cpp/dicinterpolator.cpp +633 -0
- pyvale/dic/cpp/dicinterpolator.hpp +162 -0
- pyvale/dic/cpp/dicmain.cpp +214 -0
- pyvale/dic/cpp/dicmain.hpp +61 -0
- pyvale/dic/cpp/dicoptimizer.cpp +564 -0
- pyvale/dic/cpp/dicoptimizer.hpp +279 -0
- pyvale/dic/cpp/dicresults.cpp +239 -0
- pyvale/dic/cpp/dicresults.hpp +64 -0
- pyvale/dic/cpp/dicrg.cpp +55 -0
- pyvale/dic/cpp/dicrg.hpp +52 -0
- pyvale/dic/cpp/dicscanmethod.cpp +819 -0
- pyvale/dic/cpp/dicscanmethod.hpp +119 -0
- pyvale/dic/cpp/dicshapefunc.cpp +117 -0
- pyvale/dic/cpp/dicshapefunc.hpp +40 -0
- pyvale/dic/cpp/dicsubset.cpp +325 -0
- pyvale/dic/cpp/dicsubset.hpp +122 -0
- pyvale/dic/cpp/dicutil.cpp +108 -0
- pyvale/dic/cpp/dicutil.hpp +96 -0
- pyvale/dic/cuda/malloc.cu +99 -0
- pyvale/dic/cuda/malloc.hpp +17 -0
- pyvale/dic/dic2d.py +190 -0
- pyvale/dic/dic2dconv.py +6 -0
- pyvale/dic/dic2dcpp.cpython-311-i386-linux-gnu.so +0 -0
- pyvale/dic/dicchecks.py +455 -0
- pyvale/dic/dicdataimport.py +402 -0
- pyvale/dic/dicregionofinterest.py +1163 -0
- pyvale/dic/dicresults.py +58 -0
- pyvale/examples/__init__.py +5 -0
- pyvale/examples/basicsensorsim/README.md +2 -0
- pyvale/examples/basicsensorsim/ex0_quickstart.py +139 -0
- pyvale/examples/basicsensorsim/ex1_scalar_sensors.py +240 -0
- pyvale/examples/basicsensorsim/ex2_vector_tensor_sensors.py +280 -0
- pyvale/examples/basicsensorsim/ex3_experiment_simulator.py +397 -0
- pyvale/examples/blenderimagedef/README.md +2 -0
- pyvale/examples/blenderimagedef/ex1_blender_scene2d.py +176 -0
- pyvale/examples/blenderimagedef/ex2_blender_imagedef2d.py +177 -0
- pyvale/examples/blenderimagedef/ex3_blender_scenestereo.py +205 -0
- pyvale/examples/blenderimagedef/ex4_blender_imagedefstereo.py +213 -0
- pyvale/examples/blenderimagedef/ex5_blender_calibstereo.py +190 -0
- pyvale/examples/dic/README.md +2 -0
- pyvale/examples/dic/ex1_region_of_interest.py +101 -0
- pyvale/examples/dic/ex2_plate_with_hole.py +155 -0
- pyvale/examples/dic/ex3_plate_with_hole_strain.py +99 -0
- pyvale/examples/dic/ex4_dic_blender.py +97 -0
- pyvale/examples/dic/ex5_dic_challenge.py +107 -0
- pyvale/examples/extsensorsim/README.md +2 -0
- pyvale/examples/extsensorsim/ex1_byosimdata.py +211 -0
- pyvale/examples/extsensorsim/ex2_meshfreesensors.py +174 -0
- pyvale/examples/extsensorsim/ex3a_scal2d.py +151 -0
- pyvale/examples/extsensorsim/ex3b_scal3d.py +150 -0
- pyvale/examples/extsensorsim/ex3c_vec2d.py +163 -0
- pyvale/examples/extsensorsim/ex3d_vec3d.py +169 -0
- pyvale/examples/extsensorsim/ex3e_tens2d.py +170 -0
- pyvale/examples/extsensorsim/ex3f_tens3d.py +198 -0
- pyvale/examples/extsensorsim/ex4a_basicerrs_scal2d.py +201 -0
- pyvale/examples/extsensorsim/ex4b_fielderrs_scal3d.py +197 -0
- pyvale/examples/extsensorsim/ex4c_angleerrs_vec2d.py +215 -0
- pyvale/examples/extsensorsim/ex4d_fieldlockerrs_vec3d.py +184 -0
- pyvale/examples/extsensorsim/ex4e_chainfielderrs_vec2d.py +233 -0
- pyvale/examples/extsensorsim/ex4f_caliberrs_scal2d.py +167 -0
- pyvale/examples/extsensorsim/ex4g_spatavgerrs_scal2d.py +146 -0
- pyvale/examples/extsensorsim/ex5a_expsim_thermmech2d.py +350 -0
- pyvale/examples/extsensorsim/ex5b_expsim_thermmech3d.py +358 -0
- pyvale/examples/genanalyticdata/ex1_1_scalarvisualisation.py +41 -0
- pyvale/examples/genanalyticdata/ex1_2_scalarcasebuild.py +43 -0
- pyvale/examples/genanalyticdata/ex2_1_analyticsensors.py +86 -0
- pyvale/examples/genanalyticdata/ex2_2_analyticsensors_nomesh.py +89 -0
- pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py +84 -0
- pyvale/examples/mooseherder/README.md +2 -0
- pyvale/examples/mooseherder/ex0_create_moose_config.py +65 -0
- pyvale/examples/mooseherder/ex1a_modify_moose_input.py +71 -0
- pyvale/examples/mooseherder/ex1b_modify_gmsh_input.py +69 -0
- pyvale/examples/mooseherder/ex2a_run_moose_once.py +80 -0
- pyvale/examples/mooseherder/ex2b_run_gmsh_once.py +64 -0
- pyvale/examples/mooseherder/ex2c_run_both_once.py +114 -0
- pyvale/examples/mooseherder/ex3_run_moose_seq_para.py +157 -0
- pyvale/examples/mooseherder/ex4_run_gmsh-moose_seq_para.py +176 -0
- pyvale/examples/mooseherder/ex5_run_moose_paramulti.py +136 -0
- pyvale/examples/mooseherder/ex6_read_moose_exodus.py +163 -0
- pyvale/examples/mooseherder/ex7a_read_moose_herd_results.py +153 -0
- pyvale/examples/mooseherder/ex7b_read_multi_herd_results.py +116 -0
- pyvale/examples/mooseherder/ex7c_read_multi_gmshmoose_results.py +127 -0
- pyvale/examples/mooseherder/ex7d_readconfig_multi_gmshmoose_results.py +143 -0
- pyvale/examples/mooseherder/ex8_read_existing_sweep_output.py +72 -0
- pyvale/examples/rasterimagedef/ex_rastenp.py +194 -0
- pyvale/examples/rasterimagedef/ex_rastercyth_oneframe.py +206 -0
- pyvale/examples/rasterimagedef/ex_rastercyth_static_cypara.py +189 -0
- pyvale/examples/rasterimagedef/ex_rastercyth_static_pypara.py +219 -0
- pyvale/examples/visualisation/ex1_visualisation_options.py +111 -0
- pyvale/mooseherder/__init__.py +55 -0
- pyvale/mooseherder/directorymanager.py +408 -0
- pyvale/mooseherder/exceptions.py +10 -0
- pyvale/mooseherder/exodusloader.py +762 -0
- pyvale/mooseherder/gmshrunner.py +158 -0
- pyvale/mooseherder/inputmodifier.py +240 -0
- pyvale/mooseherder/mooseconfig.py +212 -0
- pyvale/mooseherder/mooseherd.py +539 -0
- pyvale/mooseherder/mooserunner.py +307 -0
- pyvale/mooseherder/outputloader.py +17 -0
- pyvale/mooseherder/simdata.py +93 -0
- pyvale/mooseherder/simloaderbyfield.py +211 -0
- pyvale/mooseherder/simloaderbytime.py +193 -0
- pyvale/mooseherder/simloadopts.py +55 -0
- pyvale/mooseherder/simloadtools.py +465 -0
- pyvale/mooseherder/simrunner.py +31 -0
- pyvale/mooseherder/simsaver.py +401 -0
- pyvale/mooseherder/sweeploader.py +358 -0
- pyvale/mooseherder/sweeptools.py +76 -0
- pyvale/sensorsim/__init__.py +86 -0
- pyvale/sensorsim/camera.py +147 -0
- pyvale/sensorsim/cameradata.py +72 -0
- pyvale/sensorsim/cameradata2d.py +84 -0
- pyvale/sensorsim/camerasensor.py +147 -0
- pyvale/sensorsim/camerastereo.py +217 -0
- pyvale/sensorsim/cameratools.py +484 -0
- pyvale/sensorsim/cython/rastercyth.c +32404 -0
- pyvale/sensorsim/cython/rastercyth.html +3392 -0
- pyvale/sensorsim/cython/rastercyth.py +684 -0
- pyvale/sensorsim/enums.py +16 -0
- pyvale/sensorsim/errordriftcalc.py +104 -0
- pyvale/sensorsim/errorintegrator.py +359 -0
- pyvale/sensorsim/errorrand.py +105 -0
- pyvale/sensorsim/errorsimulator.py +137 -0
- pyvale/sensorsim/errorsyscalib.py +93 -0
- pyvale/sensorsim/errorsysdep.py +197 -0
- pyvale/sensorsim/errorsysfield.py +383 -0
- pyvale/sensorsim/errorsysindep.py +209 -0
- pyvale/sensorsim/exceptions.py +14 -0
- pyvale/sensorsim/experimentsimio.py +94 -0
- pyvale/sensorsim/experimentsimulator.py +615 -0
- pyvale/sensorsim/experimentstats.py +115 -0
- pyvale/sensorsim/field.py +127 -0
- pyvale/sensorsim/fieldconverter.py +378 -0
- pyvale/sensorsim/fieldinterp.py +89 -0
- pyvale/sensorsim/fieldinterpmesh.py +119 -0
- pyvale/sensorsim/fieldinterppoints.py +93 -0
- pyvale/sensorsim/fieldsampler.py +110 -0
- pyvale/sensorsim/fieldscalar.py +94 -0
- pyvale/sensorsim/fieldtensor.py +150 -0
- pyvale/sensorsim/fieldtransform.py +388 -0
- pyvale/sensorsim/fieldvector.py +136 -0
- pyvale/sensorsim/generatorsrandom.py +420 -0
- pyvale/sensorsim/imagedef2d.py +577 -0
- pyvale/sensorsim/imagetools.py +137 -0
- pyvale/sensorsim/integratorfactory.py +240 -0
- pyvale/sensorsim/integratorquadrature.py +217 -0
- pyvale/sensorsim/integratorrectangle.py +165 -0
- pyvale/sensorsim/integratorspatial.py +89 -0
- pyvale/sensorsim/integratortype.py +43 -0
- pyvale/sensorsim/logger.py +23 -0
- pyvale/sensorsim/plotting_logs.py +22 -0
- pyvale/sensorsim/raster.py +31 -0
- pyvale/sensorsim/rastercy.py +107 -0
- pyvale/sensorsim/rasternp.py +627 -0
- pyvale/sensorsim/rasteropts.py +58 -0
- pyvale/sensorsim/renderer.py +47 -0
- pyvale/sensorsim/rendermesh.py +137 -0
- pyvale/sensorsim/renderscene.py +51 -0
- pyvale/sensorsim/sensorarray.py +178 -0
- pyvale/sensorsim/sensordata.py +74 -0
- pyvale/sensorsim/sensordescriptor.py +275 -0
- pyvale/sensorsim/sensorfactory.py +179 -0
- pyvale/sensorsim/sensorspoint.py +308 -0
- pyvale/sensorsim/sensortools.py +113 -0
- pyvale/sensorsim/simtools.py +300 -0
- pyvale/sensorsim/visualexpplotter.py +201 -0
- pyvale/sensorsim/visualimagedef.py +74 -0
- pyvale/sensorsim/visualimages.py +76 -0
- pyvale/sensorsim/visualopts.py +507 -0
- pyvale/sensorsim/visualsimanimator.py +111 -0
- pyvale/sensorsim/visualsimplotter.py +180 -0
- pyvale/sensorsim/visualsimsensors.py +343 -0
- pyvale/sensorsim/visualtools.py +136 -0
- pyvale/sensorsim/visualtraceanimator.py +77 -0
- pyvale/sensorsim/visualtraceplotter.py +296 -0
- pyvale/simcases/case00_HEX20.i +242 -0
- pyvale/simcases/case00_HEX27.i +242 -0
- pyvale/simcases/case00_HEX8.i +242 -0
- pyvale/simcases/case00_TET10.i +242 -0
- pyvale/simcases/case00_TET14.i +242 -0
- pyvale/simcases/case00_TET4.i +242 -0
- pyvale/simcases/case01.i +101 -0
- pyvale/simcases/case02.i +156 -0
- pyvale/simcases/case03.i +136 -0
- pyvale/simcases/case04.i +181 -0
- pyvale/simcases/case05.i +234 -0
- pyvale/simcases/case06.i +305 -0
- pyvale/simcases/case07.geo +135 -0
- pyvale/simcases/case07.i +87 -0
- pyvale/simcases/case08.geo +144 -0
- pyvale/simcases/case08.i +153 -0
- pyvale/simcases/case09.geo +204 -0
- pyvale/simcases/case09.i +87 -0
- pyvale/simcases/case10.geo +204 -0
- pyvale/simcases/case10.i +257 -0
- pyvale/simcases/case11.geo +337 -0
- pyvale/simcases/case11.i +147 -0
- pyvale/simcases/case12.geo +388 -0
- pyvale/simcases/case12.i +329 -0
- pyvale/simcases/case13.i +140 -0
- pyvale/simcases/case14.i +159 -0
- pyvale/simcases/case15.geo +337 -0
- pyvale/simcases/case15.i +150 -0
- pyvale/simcases/case16.geo +391 -0
- pyvale/simcases/case16.i +357 -0
- pyvale/simcases/case16_d.i +360 -0
- pyvale/simcases/case16_u.i +360 -0
- pyvale/simcases/case17.geo +138 -0
- pyvale/simcases/case17.i +144 -0
- pyvale/simcases/case18.i +271 -0
- pyvale/simcases/case18_d.i +271 -0
- pyvale/simcases/case18_u.i +271 -0
- pyvale/simcases/case19.geo +252 -0
- pyvale/simcases/case19.i +99 -0
- pyvale/simcases/case20.geo +252 -0
- pyvale/simcases/case20.i +250 -0
- pyvale/simcases/case21.geo +74 -0
- pyvale/simcases/case21.i +155 -0
- pyvale/simcases/case22.geo +82 -0
- pyvale/simcases/case22.i +140 -0
- pyvale/simcases/case23.geo +164 -0
- pyvale/simcases/case23.i +140 -0
- pyvale/simcases/case24.geo +79 -0
- pyvale/simcases/case24.i +123 -0
- pyvale/simcases/case25.geo +82 -0
- pyvale/simcases/case25.i +140 -0
- pyvale/simcases/case26.geo +166 -0
- pyvale/simcases/case26.i +140 -0
- pyvale/simcases/cases_dictionary.yaml +336 -0
- pyvale/simcases/run_1case.py +60 -0
- pyvale/simcases/run_all_cases.py +69 -0
- pyvale/simcases/run_build_case.py +64 -0
- pyvale/simcases/run_example_cases.py +69 -0
- pyvale/strain/__init__.py +13 -0
- pyvale/strain/cpp/bindings.cpp +25 -0
- pyvale/strain/cpp/smooth.cpp +140 -0
- pyvale/strain/cpp/smooth.hpp +53 -0
- pyvale/strain/cpp/strain.cpp +390 -0
- pyvale/strain/cpp/strain.hpp +177 -0
- pyvale/strain/strain.py +117 -0
- pyvale/strain/strain_cpp.cpython-311-i386-linux-gnu.so +0 -0
- pyvale/strain/strainchecks.py +47 -0
- pyvale/strain/strainimport.py +303 -0
- pyvale/strain/strainresults.py +55 -0
- pyvale/verif/__init__.py +15 -0
- pyvale/verif/analyticmeshgen.py +102 -0
- pyvale/verif/analyticsimdatafactory.py +125 -0
- pyvale/verif/analyticsimdatagenerator.py +368 -0
- pyvale/verif/matchsimdata.py +113 -0
- pyvale/verif/pointsens.py +120 -0
- pyvale/verif/pointsensconst.py +19 -0
- pyvale/verif/pointsensmech.py +270 -0
- pyvale/verif/pointsensmultiphys.py +184 -0
- pyvale/verif/pointsensscalar.py +383 -0
- pyvale/verif/pointsenstensor.py +159 -0
- pyvale/verif/pointsensvector.py +157 -0
- pyvale-2026.1.1.dist-info/METADATA +98 -0
- pyvale-2026.1.1.dist-info/RECORD +860 -0
- pyvale-2026.1.1.dist-info/WHEEL +6 -0
- pyvale-2026.1.1.dist-info/licenses/LICENSE +21 -0
- pyvale.libs/libgomp-65f46eca.so.1.0.0 +0 -0
- share/eigen3/cmake/Eigen3Config.cmake +37 -0
- share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
- share/eigen3/cmake/Eigen3Targets.cmake +106 -0
- share/eigen3/cmake/UseEigen3.cmake +6 -0
- share/pkgconfig/eigen3.pc +9 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// ================================================================================
|
|
2
|
+
// pyvale: the python validation engine
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
// ================================================================================
|
|
6
|
+
|
|
7
|
+
#ifndef DICSUBSET_H
|
|
8
|
+
#define DICSUBSET_H
|
|
9
|
+
|
|
10
|
+
// STD library Header files
|
|
11
|
+
#include <vector>
|
|
12
|
+
|
|
13
|
+
// Program Header files
|
|
14
|
+
#include "./dicinterpolator.hpp"
|
|
15
|
+
|
|
16
|
+
namespace subset {
|
|
17
|
+
|
|
18
|
+
struct Grid {
|
|
19
|
+
int num;
|
|
20
|
+
int step;
|
|
21
|
+
int size;
|
|
22
|
+
int num_ss_x;
|
|
23
|
+
int num_ss_y;
|
|
24
|
+
int num_in_mask;
|
|
25
|
+
std::vector<int> coords;
|
|
26
|
+
std::vector<int> mask;
|
|
27
|
+
std::vector<std::vector<int>> neigh;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @brief holds a subset with pixel data and dimensions.
|
|
32
|
+
*
|
|
33
|
+
* This struct holds the pixel values, coordinates, and dimensions of a square subset.
|
|
34
|
+
*/
|
|
35
|
+
struct Pixels {
|
|
36
|
+
std::vector<double> vals;
|
|
37
|
+
std::vector<double> x;
|
|
38
|
+
std::vector<double> y;
|
|
39
|
+
int size;
|
|
40
|
+
int num_px;
|
|
41
|
+
|
|
42
|
+
// Constructor to initialize the vectors with ss_size
|
|
43
|
+
Pixels(int ss_size)
|
|
44
|
+
: vals(ss_size * ss_size, 0.0),
|
|
45
|
+
x(ss_size * ss_size, 0.0),
|
|
46
|
+
y(ss_size * ss_size, 0.0),
|
|
47
|
+
size(ss_size),
|
|
48
|
+
num_px(ss_size * ss_size)
|
|
49
|
+
{}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @brief Extracts a square subset of pixels from an image and stores the data in a Subset object.
|
|
54
|
+
*
|
|
55
|
+
* This function copies a square region of pixel data from the specified starting coordinates
|
|
56
|
+
* (`ss_x`, `ss_y`) in the input image into the `ss_def` structure. The size of the square
|
|
57
|
+
* subset is determined by `ss_def->size`. Both the pixel values and their corresponding
|
|
58
|
+
* coordinates are stored in `ss_def`.
|
|
59
|
+
*
|
|
60
|
+
* @param ss_x X-coordinate (column) of the top-left corner of the subset in the image.
|
|
61
|
+
* @param ss_y Y-coordinate (row) of the top-left corner of the subset in the image.
|
|
62
|
+
* @param img_def Pointer to the source image (`util::Image`) from which to extract pixel data.
|
|
63
|
+
* @param ss_def Pointer to the destination subset (`subset::Pixels`) where extracted pixel
|
|
64
|
+
* values and coordinates are stored.
|
|
65
|
+
*/
|
|
66
|
+
void get_px_from_img(subset::Pixels &ss_ref,
|
|
67
|
+
const int ss_x, const int ss_y,
|
|
68
|
+
const int px_hori,
|
|
69
|
+
const int px_vert,
|
|
70
|
+
const double *img_def);
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @brief Extracts a square subset of pixels from an image and stores the data in a Subset object.
|
|
75
|
+
*
|
|
76
|
+
* This function copies a square region of pixel data from the specified starting coordinates
|
|
77
|
+
* (`ss_x`, `ss_y`) in the input image into the `ss_def` structure. The size of the square
|
|
78
|
+
* subset is determined by `ss_def->size`. Both the pixel values and their corresponding
|
|
79
|
+
* coordinates are stored in `ss_def`.
|
|
80
|
+
*
|
|
81
|
+
* @param ss_ref Pointer to the destination subset (`subset::Pixels`) where extracted pixel info will be stored
|
|
82
|
+
* @param ss_x X-coordinate (column) of the top-left corner of the subset in the image.
|
|
83
|
+
* @param ss_y Y-coordinate (row) of the top-left corner of the subset in the image.
|
|
84
|
+
* @param interp_ref interpolator for the reference image from which to extract pixel data.
|
|
85
|
+
*/
|
|
86
|
+
void get_subpx_from_img(subset::Pixels &ss_def,
|
|
87
|
+
const double subpx_x, const double subpx_y,
|
|
88
|
+
const Interpolator &interp_def);
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
void get_subpx_from_shape_params(subset::Pixels &ss_def,
|
|
94
|
+
const double subpx_x, const double subpx_y,
|
|
95
|
+
const std::vector<double>& p,
|
|
96
|
+
const Interpolator &interp_def);
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @brief Generates a list of subsets based on the provided image ROI and parameters.
|
|
100
|
+
*
|
|
101
|
+
* This function creates a list of subsets (defined by their coordinates) from a binary mask
|
|
102
|
+
* (`img_roi`) that indicates the region of interest in the image. The subsets are generated
|
|
103
|
+
* with specified size and step values.
|
|
104
|
+
*
|
|
105
|
+
* @param img_roi Pointer to a binary mask indicating the region of interest in the image.
|
|
106
|
+
* @param px_hori Number of horizontal pixels in the image.
|
|
107
|
+
* @param px_vert Number of vertical pixels in the image.
|
|
108
|
+
* @param ss_size Size of each subset (in pixels).
|
|
109
|
+
* @param ss_step Step size for generating subsets.
|
|
110
|
+
* @return A subset::Grid object containing the generated subsets and their neighbours.
|
|
111
|
+
*/
|
|
112
|
+
subset::Grid create_grid(const bool *img_roi, const int ss_step, const int ss_size,
|
|
113
|
+
const int px_hori, const int px_vert, const bool partial=false);
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
inline bool px_in_img_dims(const int px_x, const int px_y, const int px_hori,
|
|
117
|
+
const int px_vert);
|
|
118
|
+
|
|
119
|
+
inline bool px_in_roi(const int px_x, const int px_y, const int px_hori,
|
|
120
|
+
const int px_vert, const bool *img_roi);
|
|
121
|
+
}
|
|
122
|
+
#endif // DICSMOOTH_H
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// ================================================================================
|
|
2
|
+
// pyvale: the python validation engine
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
// ================================================================================
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
// STD library Header files
|
|
9
|
+
#include <cstdlib>
|
|
10
|
+
#include <iostream>
|
|
11
|
+
#include <fstream>
|
|
12
|
+
#include <sstream>
|
|
13
|
+
#include <vector>
|
|
14
|
+
#include <cmath>
|
|
15
|
+
#include <omp.h>
|
|
16
|
+
|
|
17
|
+
// common_cpp Header files
|
|
18
|
+
#include "../../common_cpp/util.hpp"
|
|
19
|
+
|
|
20
|
+
// DIC Header files
|
|
21
|
+
#include "./dicutil.hpp"
|
|
22
|
+
#include "./dicsubset.hpp"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
namespace util {
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
std::vector<int> niter_arr;
|
|
29
|
+
std::vector<double> u_arr;
|
|
30
|
+
std::vector<double> v_arr;
|
|
31
|
+
std::vector<double> p_arr;
|
|
32
|
+
std::vector<double> ftol_arr;
|
|
33
|
+
std::vector<double> xtol_arr;
|
|
34
|
+
std::vector<double> cost_arr;
|
|
35
|
+
std::vector<uint8_t> conv_arr;
|
|
36
|
+
bool at_end;
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
void extract_image(double *img_def_stack,
|
|
41
|
+
int image_number,
|
|
42
|
+
int px_hori,
|
|
43
|
+
int px_vert){
|
|
44
|
+
|
|
45
|
+
int count = 0;
|
|
46
|
+
for (int px_y = 0; px_y < px_vert; px_y++){
|
|
47
|
+
for (int px_x = 0; px_x < px_hori; px_x++){
|
|
48
|
+
int idx = image_number * px_hori * px_vert + px_y * px_hori + px_x;
|
|
49
|
+
std::cout << img_def_stack[idx] << " ";
|
|
50
|
+
//img_def->vals[count] = img_def_stack[idx];
|
|
51
|
+
count++;
|
|
52
|
+
}
|
|
53
|
+
std::cout << std::endl;
|
|
54
|
+
}
|
|
55
|
+
exit(0);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
int next_pow2(int n) {
|
|
59
|
+
if (n <= 0){
|
|
60
|
+
std::cerr << __FILE__ << " " << __LINE__ << std::endl;
|
|
61
|
+
std::cerr << "Expected a positive integer to calculate next power of 2 " << std::endl;
|
|
62
|
+
std::cerr << "n = " << n << std::endl;
|
|
63
|
+
exit(EXIT_FAILURE);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// If already a power of 2, return as-is
|
|
67
|
+
if ((n & (n - 1)) == 0) return n;
|
|
68
|
+
|
|
69
|
+
n--;
|
|
70
|
+
n |= n >> 1;
|
|
71
|
+
n |= n >> 2;
|
|
72
|
+
n |= n >> 4;
|
|
73
|
+
n |= n >> 8;
|
|
74
|
+
n |= n >> 16;
|
|
75
|
+
n++;
|
|
76
|
+
|
|
77
|
+
// Handle possible overflow
|
|
78
|
+
if (n < 0) return std::numeric_limits<int>::max();
|
|
79
|
+
|
|
80
|
+
return n;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
void gen_size_and_step_vector(std::vector<int> &ss_sizes, std::vector<int> &ss_steps,
|
|
85
|
+
const int ss_size, const int ss_step, const int max_disp) {
|
|
86
|
+
|
|
87
|
+
ss_sizes.clear();
|
|
88
|
+
ss_steps.clear();
|
|
89
|
+
|
|
90
|
+
int power = next_pow2(max_disp);
|
|
91
|
+
|
|
92
|
+
// Generate sizes down to just above ss_size
|
|
93
|
+
while (power > ss_size) {
|
|
94
|
+
ss_sizes.push_back(power);
|
|
95
|
+
ss_steps.push_back(power / 2);
|
|
96
|
+
power /= 2;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Finally, add the original ss_size and ss_step
|
|
100
|
+
ss_sizes.push_back(ss_size);
|
|
101
|
+
ss_steps.push_back(ss_step);
|
|
102
|
+
|
|
103
|
+
// debugging
|
|
104
|
+
//for (size_t i = 0; i < ss_sizes.size(); ++i) {
|
|
105
|
+
// std::cout << "ss_size = " << ss_sizes[i] << ", step = " << ss_steps[i] << std::endl;
|
|
106
|
+
//}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// ================================================================================
|
|
2
|
+
// pyvale: the python validation engine
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
// ================================================================================
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
#ifndef DICUTIL_H
|
|
9
|
+
#define DICUTIL_H
|
|
10
|
+
|
|
11
|
+
// STD library Header files
|
|
12
|
+
#include <vector>
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
// common_cpp header files
|
|
16
|
+
|
|
17
|
+
// program Header files
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
namespace util {
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// Custom hash from above
|
|
24
|
+
struct PairHash {
|
|
25
|
+
std::size_t operator()(const std::pair<int, int>& p) const {
|
|
26
|
+
return std::hash<int>()(p.first) ^ (std::hash<int>()(p.second) << 1);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
struct Config {
|
|
33
|
+
int ss_step;
|
|
34
|
+
int ss_size;
|
|
35
|
+
int max_iter;
|
|
36
|
+
int px_hori;
|
|
37
|
+
int px_vert;
|
|
38
|
+
int num_def_img;
|
|
39
|
+
int num_params;
|
|
40
|
+
double precision;
|
|
41
|
+
double threshold;
|
|
42
|
+
double bf_threshold;
|
|
43
|
+
int max_disp;
|
|
44
|
+
std::pair<int, int> rg_seed;
|
|
45
|
+
std::string corr_crit;
|
|
46
|
+
std::string shape_func;
|
|
47
|
+
std::string interp_routine;
|
|
48
|
+
std::string scan_method;
|
|
49
|
+
std::vector<std::string> filenames;
|
|
50
|
+
bool fft_mad;
|
|
51
|
+
double fft_mad_scale;
|
|
52
|
+
unsigned int debug_level;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @brief Represents an image with pixel data and dimensions.
|
|
60
|
+
*
|
|
61
|
+
* This struct holds the pixel values of an image along with its
|
|
62
|
+
* dimensions. The pixel data is stored in row-major order.
|
|
63
|
+
*/
|
|
64
|
+
struct Image {
|
|
65
|
+
double *vals;
|
|
66
|
+
int px_hori;
|
|
67
|
+
int px_vert;
|
|
68
|
+
int num;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @brief Extracts a single image from a stacked image array and stores it in an `Image` object.
|
|
74
|
+
*
|
|
75
|
+
* Takes a specific 2D image (identified by `image_number`) from a 3D image stack
|
|
76
|
+
* (`img_def_stack`) and stores its pixel values into the `vals` field of the provided
|
|
77
|
+
* `util::Image` structure.
|
|
78
|
+
*
|
|
79
|
+
* @param img_def Pointer to a `util::Image` object that will be populated with the extracted image data.
|
|
80
|
+
* @param img_def_stack Pointer to a flat array representing a stack of images stored sequentially
|
|
81
|
+
* (row-major order).
|
|
82
|
+
* @param image_number Index of the image to extract from the stack (0-based).
|
|
83
|
+
*/
|
|
84
|
+
void extract_image(double *img_def_stack,
|
|
85
|
+
int image_number,
|
|
86
|
+
int px_hori,
|
|
87
|
+
int px_vert);
|
|
88
|
+
|
|
89
|
+
int next_pow2(int n);
|
|
90
|
+
|
|
91
|
+
void gen_size_and_step_vector(std::vector<int> &ss_sizes, std::vector<int> &ss_steps,
|
|
92
|
+
const int ss_size, const int ss_step, const int max_disp);
|
|
93
|
+
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
#endif //DICUTIL
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// ================================================================================
|
|
2
|
+
// pyvale: the python validation engine
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
// ================================================================================
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
// cpp header files
|
|
9
|
+
#include <cuda.h>
|
|
10
|
+
#include <cstring>
|
|
11
|
+
#include <curand.h>
|
|
12
|
+
#include <iostream>
|
|
13
|
+
#include <cuda_runtime.h>
|
|
14
|
+
|
|
15
|
+
// STD library Header files
|
|
16
|
+
#include "../cpp/defines.hpp"
|
|
17
|
+
|
|
18
|
+
namespace cuglobal {
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
//gpu variables
|
|
22
|
+
int tpb;
|
|
23
|
+
int bpg;
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
void device_info(int n_ss){
|
|
27
|
+
|
|
28
|
+
TITLE("CUDA DEVICE PROPERTIES");
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
// Get number of available GPU devices
|
|
32
|
+
int devicesCount;
|
|
33
|
+
cudaGetDeviceCount(&devicesCount);
|
|
34
|
+
INFO_OUT("Number of available GPU devices:", devicesCount);
|
|
35
|
+
|
|
36
|
+
std::string devicename_str;
|
|
37
|
+
struct cudaDeviceProp properties;
|
|
38
|
+
|
|
39
|
+
for (int i = 0; i < devicesCount; i++){
|
|
40
|
+
cudaGetDeviceProperties(&properties, i);
|
|
41
|
+
devicename_str = "Name of device " + std::to_string(i) + ":";
|
|
42
|
+
INFO_OUT(devicename_str, properties.name);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// check if device has been selected in config file
|
|
46
|
+
int device = 0;
|
|
47
|
+
if ((devicesCount != 1)) {
|
|
48
|
+
std::cout << "More than one GPU has been found. No Specific GPU has been selected. \n";
|
|
49
|
+
std::cout << "GPU has been automatically assigned to device 0. \n";
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
cudaSetDevice(device);
|
|
53
|
+
cudaGetDeviceProperties(&properties, device);
|
|
54
|
+
|
|
55
|
+
// print GPU information to stdout
|
|
56
|
+
INFO_OUT("Device name:", properties.name);
|
|
57
|
+
INFO_OUT("Memory Clock Rate (KHz):", properties.memoryClockRate);
|
|
58
|
+
INFO_OUT("Memory Bus Width (bits):", properties.memoryBusWidth);
|
|
59
|
+
INFO_OUT("Peak Memory Bandwidth (GB/s):", 2.0*properties.memoryClockRate*(properties.memoryBusWidth/8)/1.0e6);
|
|
60
|
+
INFO_OUT("Total Device Global Memory (Mb):", properties.totalGlobalMem/1024/1024)
|
|
61
|
+
INFO_OUT("Total Device Constant Memory (Kb):", properties.totalConstMem/1024)
|
|
62
|
+
INFO_OUT("Device major.minor:", properties.major << "." << properties.minor)
|
|
63
|
+
INFO_OUT("Device registers per block:", properties.regsPerBlock);
|
|
64
|
+
INFO_OUT("multiprocessors:", properties.multiProcessorCount);
|
|
65
|
+
INFO_OUT("max threads per processor:", properties.maxThreadsPerMultiProcessor);
|
|
66
|
+
INFO_OUT("max threads per block:", properties.maxThreadsPerBlock);
|
|
67
|
+
|
|
68
|
+
tpb = 256;
|
|
69
|
+
bpg = (n_ss + tpb - 1) / tpb;
|
|
70
|
+
|
|
71
|
+
INFO_OUT("Simulation Threads Per Block:", tpb);
|
|
72
|
+
INFO_OUT("Simulation Blocks Per grid:", bpg);
|
|
73
|
+
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// void clear_memory(){
|
|
77
|
+
// CUDA_CALL(cudaFree(dSx1d));
|
|
78
|
+
// std::cout << "Deallocated GPU memory."
|
|
79
|
+
// }
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
// void allocate_memory(){
|
|
83
|
+
|
|
84
|
+
// //Device spin variables
|
|
85
|
+
// CUDA_CALL(cudaMalloc((void**)&dSx1d, sizeof(double)*params::Nspins));
|
|
86
|
+
// CUDA_CALL(cudaMemset(cuheun::Sdashnx, 0.0, sizeof(double) * params::Nspins));
|
|
87
|
+
|
|
88
|
+
// }
|
|
89
|
+
|
|
90
|
+
// void copy_to_gpu(){
|
|
91
|
+
// CUDA_CALL(cudaMemset(cuheun::Sdashnx, 0.0, sizeof(double) * params::Nspins));
|
|
92
|
+
|
|
93
|
+
// }
|
|
94
|
+
|
|
95
|
+
// void copy_to_cpu
|
|
96
|
+
// CUDA_CALL(cudaMemset(cuheun::Sdashnx, 0.0, sizeof(double) * params::Nspins));
|
|
97
|
+
// }
|
|
98
|
+
|
|
99
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// ================================================================================
|
|
2
|
+
// pyvale: the python validation engine
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
// ================================================================================
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
// cpp header files
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// STD library Header files
|
|
12
|
+
#include "../cpp/defines.hpp"
|
|
13
|
+
|
|
14
|
+
namespace cuglobal {
|
|
15
|
+
|
|
16
|
+
void device_info(int n_ss);
|
|
17
|
+
}
|
pyvale/dic/dic2d.py
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# ================================================================================
|
|
2
|
+
# pyvale: the python validation engine
|
|
3
|
+
# License: MIT
|
|
4
|
+
# Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
# ================================================================================
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
from logging import debug
|
|
10
|
+
import numpy as np
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
# pyvale
|
|
14
|
+
import pyvale.dic.dic2dcpp as dic2dcpp
|
|
15
|
+
import pyvale.dic.dicchecks as dicchecks
|
|
16
|
+
import pyvale.common_py.util as common_py_util
|
|
17
|
+
import pyvale.common_cpp.common_cpp as common_cpp
|
|
18
|
+
|
|
19
|
+
def calculate_2d(reference: np.ndarray | str | Path,
|
|
20
|
+
deformed: np.ndarray | str | Path | list[Path],
|
|
21
|
+
roi_mask: np.ndarray,
|
|
22
|
+
seed: list[int] | list[np.int32] | np.ndarray,
|
|
23
|
+
subset_size: int = 21,
|
|
24
|
+
subset_step: int = 10,
|
|
25
|
+
correlation_criteria: str="ZNSSD",
|
|
26
|
+
shape_function: str="AFFINE",
|
|
27
|
+
interpolation_routine: str="BICUBIC",
|
|
28
|
+
max_iterations: int=40,
|
|
29
|
+
precision: float=0.001,
|
|
30
|
+
threshold: float=0.9,
|
|
31
|
+
bf_threshold: float=0.6,
|
|
32
|
+
num_threads: int | None = None,
|
|
33
|
+
max_displacement: int=128,
|
|
34
|
+
method: str="MULTIWINDOW_RG",
|
|
35
|
+
fft_mad: bool=False,
|
|
36
|
+
fft_mad_scale: float=3.0,
|
|
37
|
+
output_at_end: bool=False,
|
|
38
|
+
output_basepath: Path | str = "./",
|
|
39
|
+
output_binary: bool=False,
|
|
40
|
+
output_prefix: str="dic_results_",
|
|
41
|
+
output_delimiter: str=",",
|
|
42
|
+
output_below_threshold: bool=False,
|
|
43
|
+
output_shape_params: bool=False,
|
|
44
|
+
debug_level: int=1) -> None:
|
|
45
|
+
|
|
46
|
+
"""
|
|
47
|
+
Perform 2D Digital Image Correlation (DIC) between a reference image and one or more deformed images.
|
|
48
|
+
|
|
49
|
+
This function wraps a C++ DIC engine by preparing configuration parameters,
|
|
50
|
+
performing input validation, and dispatching image data and settings. It supports
|
|
51
|
+
pixel-level displacement and strain measurement over a defined region of interest (ROI).
|
|
52
|
+
|
|
53
|
+
Parameters
|
|
54
|
+
----------
|
|
55
|
+
reference : np.ndarray, str or pathlib.Path
|
|
56
|
+
The reference image (2D array) or path to the image file.
|
|
57
|
+
deformed : np.ndarray, str , pathlib.Path or list[pathlib.Path]
|
|
58
|
+
The deformed image(s) (3D array for multiple images) or path/pattern to image files.
|
|
59
|
+
roi_mask : np.ndarray
|
|
60
|
+
A binary mask indicating the Region of Interest (ROI) for analysis (same size as image).
|
|
61
|
+
seed : list[int], list[np.int32] or np.ndarray
|
|
62
|
+
Coordinates `[x, y]` of the seed point for Reliability-Guided (RG) scanning, default is empty.
|
|
63
|
+
subset_size : int, optional
|
|
64
|
+
Size of the square subset window in pixels (default: 21).
|
|
65
|
+
subset_step : int, optional
|
|
66
|
+
Step size between subset centers in pixels (default: 10).
|
|
67
|
+
correlation_criteria : str, optional
|
|
68
|
+
Metric for matching subsets: "ZNSSD", "NSSD" or "SSD" (default: "ZNSSD").
|
|
69
|
+
shape_function : str, optional
|
|
70
|
+
Deformation model: e.g., "AFFINE", "RIGID" (default: "AFFINE").
|
|
71
|
+
interpolation_routine : str, optional
|
|
72
|
+
Interpolation method used on image intensity. "BICUBIC" is currently the
|
|
73
|
+
only supported option.
|
|
74
|
+
max_iterations : int, optional
|
|
75
|
+
Maximum number of iterations allowed for subset optimization (default: 40).
|
|
76
|
+
precision : float, optional
|
|
77
|
+
Precision threshold for iterative optimization convergence (default: 0.001).
|
|
78
|
+
threshold : float, optional
|
|
79
|
+
Minimum correlation/cost coefficient value to be considered a matching subset (default: 0.9).
|
|
80
|
+
num_threads : int, optional
|
|
81
|
+
Number of threads to use for parallel computation (default: None, uses all available).
|
|
82
|
+
bf_threshold : float, optional
|
|
83
|
+
Correlation threshold used in rigid bruteforce check for a subset to be considered a
|
|
84
|
+
good match(default: 0.6).
|
|
85
|
+
max_displacement : int, optional
|
|
86
|
+
Estimate for the Maximum displacement in any direction (in pixels) (default: 128).
|
|
87
|
+
method : str, optional
|
|
88
|
+
Subset scanning method: "RG" for Reliability-Guided (best overall approach),
|
|
89
|
+
"IMAGE_SCAN" for a standard scan across the image with no seeding
|
|
90
|
+
(best performance with for subpixel displacements with high quality images),
|
|
91
|
+
"FFT" for a multi-window FFT based approach (Good for large displacements)
|
|
92
|
+
fft_mad : bool, optional
|
|
93
|
+
The option to smooth FFT windowing data by identifying and replacing outliers using
|
|
94
|
+
a robust statistical method. For each subset, the function collects values from its
|
|
95
|
+
neighboring subsets (within a 5x5 window, i.e., radius = 2), computes the median and
|
|
96
|
+
Median Absolute Deviation (MAD), and determines whether the value at the current
|
|
97
|
+
subset is an outlier. If it is, the value is replaced with the median of
|
|
98
|
+
its neighbors. (default: False)
|
|
99
|
+
fft_mad_scale : bool, optional
|
|
100
|
+
An outlier is defined as a value whose deviation from the local median exceeds
|
|
101
|
+
`fft_mad_scale` times the MAD. This value choses the scaling factor that determines
|
|
102
|
+
the threshold for detecting outliers relative to the MAD.
|
|
103
|
+
output_at_end : bool, optional
|
|
104
|
+
If True, results will only be written at the end of processing (default: False).
|
|
105
|
+
output_basepath : str or pathlib.Path, optional
|
|
106
|
+
Directory path where output files will be written (default: "./").
|
|
107
|
+
output_binary : bool, optional
|
|
108
|
+
Whether to write output in binary format (default: False).
|
|
109
|
+
output_prefix : str, optional
|
|
110
|
+
Prefix for all output files (default: "dic_results_"). results will be
|
|
111
|
+
named with output_prefix + original filename. THe extension will be
|
|
112
|
+
changed to ".csv" or ".dic2d" depending on whether outputting as a binary.
|
|
113
|
+
output_delimiter : str, optional
|
|
114
|
+
Delimiter used in text output files (default: ",").
|
|
115
|
+
output_below_threshold : bool, optional
|
|
116
|
+
If True, subset results with cost values that did not exceed the cost threshold
|
|
117
|
+
will still be present in output (default: False).
|
|
118
|
+
output_shape_params : bool, optional
|
|
119
|
+
If True, all shape parameters will be saved in the output files (default: False).
|
|
120
|
+
debug_level:
|
|
121
|
+
|
|
122
|
+
Returns
|
|
123
|
+
-------
|
|
124
|
+
None
|
|
125
|
+
All outputs are written to files; no values are returned.
|
|
126
|
+
|
|
127
|
+
Raises
|
|
128
|
+
------
|
|
129
|
+
ValueError
|
|
130
|
+
If input checks fail (e.g., invalid image sizes, unsupported parameters).
|
|
131
|
+
FileNotFoundError
|
|
132
|
+
If provided file paths do not exist.
|
|
133
|
+
"""
|
|
134
|
+
|
|
135
|
+
if (debug_level>0):
|
|
136
|
+
dicchecks.print_title("Initial Checks")
|
|
137
|
+
|
|
138
|
+
# do checks on vars in python land
|
|
139
|
+
image_stack, roi_c, filenames = dicchecks.check_and_get_images(reference,deformed,roi_mask, debug_level)
|
|
140
|
+
dicchecks.check_correlation_criteria(correlation_criteria)
|
|
141
|
+
dicchecks.check_interpolation(interpolation_routine)
|
|
142
|
+
dicchecks.check_method(method)
|
|
143
|
+
dicchecks.check_thresholds(threshold, bf_threshold, precision)
|
|
144
|
+
common_py_util.check_output_directory(str(output_basepath), output_prefix, debug_level)
|
|
145
|
+
dicchecks.check_subsets(subset_size, subset_step)
|
|
146
|
+
updated_seed = dicchecks.check_and_update_rg_seed(seed, roi_mask, method, image_stack.shape[2], image_stack.shape[1], subset_size, subset_step)
|
|
147
|
+
num_params = dicchecks.check_shape_function(shape_function)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
# Assign values to config struct for c++ land
|
|
151
|
+
config = dic2dcpp.Config()
|
|
152
|
+
config.ss_step = subset_step
|
|
153
|
+
config.ss_size = subset_size
|
|
154
|
+
config.max_iter = max_iterations
|
|
155
|
+
config.precision = precision
|
|
156
|
+
config.threshold = threshold
|
|
157
|
+
config.bf_threshold = bf_threshold
|
|
158
|
+
config.max_disp = max_displacement
|
|
159
|
+
config.corr_crit = correlation_criteria
|
|
160
|
+
config.shape_func = shape_function
|
|
161
|
+
config.interp_routine = interpolation_routine
|
|
162
|
+
config.scan_method = method
|
|
163
|
+
config.px_hori = image_stack.shape[2]
|
|
164
|
+
config.px_vert = image_stack.shape[1]
|
|
165
|
+
config.num_def_img = image_stack.shape[0]-1 # subtract ref image
|
|
166
|
+
config.num_params = num_params
|
|
167
|
+
config.rg_seed = updated_seed
|
|
168
|
+
config.filenames = filenames
|
|
169
|
+
config.fft_mad = fft_mad
|
|
170
|
+
config.fft_mad_scale = fft_mad_scale
|
|
171
|
+
config.debug_level = debug_level
|
|
172
|
+
|
|
173
|
+
# assigning c++ struct vals for save config
|
|
174
|
+
saveconf = common_cpp.SaveConfig()
|
|
175
|
+
saveconf.basepath = str(output_basepath)
|
|
176
|
+
saveconf.binary = output_binary
|
|
177
|
+
saveconf.prefix = output_prefix
|
|
178
|
+
saveconf.delimiter = output_delimiter
|
|
179
|
+
saveconf.at_end = output_at_end
|
|
180
|
+
saveconf.output_below_threshold = output_below_threshold
|
|
181
|
+
saveconf.shape_params = output_shape_params
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
#set the number of OMP threads
|
|
185
|
+
if num_threads is not None:
|
|
186
|
+
common_cpp.set_num_threads(num_threads)
|
|
187
|
+
|
|
188
|
+
# calling the c++ dic engine
|
|
189
|
+
with dic2dcpp.ostream_redirect(stdout=True, stderr=True):
|
|
190
|
+
dic2dcpp.dic_engine(image_stack, roi_c, config, saveconf)
|
pyvale/dic/dic2dconv.py
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# ================================================================================
|
|
2
|
+
# pyvale: the python validation engine
|
|
3
|
+
# License: MIT
|
|
4
|
+
# Copyright (C) 2025 The Computer Aided Validation Team
|
|
5
|
+
# ================================================================================
|
|
6
|
+
|
|
Binary file
|