Skip to content

Refactor: reorganize seed analysis and serialization into separate mo…#10

Open
johnaoga wants to merge 9 commits intomainfrom
ja/refactoring/1
Open

Refactor: reorganize seed analysis and serialization into separate mo…#10
johnaoga wants to merge 9 commits intomainfrom
ja/refactoring/1

Conversation

@johnaoga
Copy link
Copy Markdown
Collaborator

@johnaoga johnaoga commented Apr 1, 2026

…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

johnaoga added 9 commits April 2, 2026 01:11
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant