Refactor: reorganize seed analysis and serialization into separate mo…#10
Open
Refactor: reorganize seed analysis and serialization into separate mo…#10
Conversation
…dules #9 #8 - Move seed analysis functions to ncorr/algo/seed_analysis.hpp - Extract binary I/O utilities to ncorr/io/binary_io.hpp - Add core header wrappers under ncorr/core/ directory - Split ncorr.cpp into ncorr_seed.cpp, ncorr_serialization.cpp, and ncorr_visualization.cpp - Update CMakeLists.txt to include new source files - Replace manual binary I/O with templated read_pod/write_pod helpers - Rename SeedConvergence to SeedQuality and S
- Move ImageProcessor and VideoImporter classes from Image2D.h to dedicated headers - Create ImageProcessor.h and VideoImporter.h with corresponding .cpp implementations - Add core header wrappers under ncorr/core/ directory - Update CMakeLists.txt to include new source files - Add .DS_Store to .gitignore - Reduce Image2D.h coupling by splitting image processing and video import concerns
… environment variable - Create ncorr/internal/diagnostics.hpp with diagnostics_enabled() and diagnostic_log() utilities - Replace direct std::cout/std::cerr calls with diagnostic_log() in ROI2D.h, ImageProcessor.cpp, and VideoImporter.cpp - Guard verbose debug output in roi2d_reduce_test.cpp with diagnostics_enabled() checks - Diagnostics are disabled by default and only enabled when NCORR_ENABLE_DIAGNOSTICS environment variable is set
…dule - Move get_cv_img() and imshow() from Array2D.h to new Array2DOpenCV.h header - Remove OpenCV includes from Array2D.h core implementation - Convert member functions to standalone template functions with proper SFINAE constraints - Add Array2DOpenCV.h includes to ROI2D.h, ncorr.h, and Image2D.cpp - Create ncorr/core/array2d_opencv.hpp wrapper header - Improve error handling with explicit size checks and descriptive messages
- Move conv(), deconv(), and xcorr() implementations from Array2D.h to Array2D.cpp - Create Array2DFFTW.h header for FFTW-specific utilities and fftw_allocator - Remove FFTW includes from Array2D.h core implementation - Convert member functions to standalone functions with forward declarations - Replace FFTW enum and this_conv_base() member with anonymous namespace helpers - Add Array2DFFTW.h to CMakeLists.txt and include chain
- Move get_linsolver() and this_linsolve() implementations from Array2D.h to Array2DLinSolver.h - Create blas_mat_mult() helper function in Array2D.cpp details namespace - Remove BLAS extern "C" declaration from Array2D.h, move to Array2D.cpp - Convert member functions to standalone implementations with forward declarations - Replace inline this_mat_mult() implementation with call to details::blas_mat_mult() - Add Array2DLinSolver.h to
…r module - Move base_linsolver, LU_linsolver, QR_linsolver, CHOL_linsolver, and interface_linsolver class definitions from Array2D.h to Array2DLinSolver.h - Move corresponding implementations from Array2D.h details namespace to Array2DLinSolver.h - Remove 538 lines of linear solver code from Array2D.h core implementation - Reduce Array2D.h coupling by isolating BLAS-dependent linear algebra functionality
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…dules #9 #8