Skip to content

overhauled memory allocation and fixed several memory bugs

Pre-release
Pre-release
Compare
Choose a tag to compare
@jewettaij jewettaij released this 14 Jul 20:29
· 155 commits to master since this release

I rewrote the functions that allocate and free multidimensional arrays (in "alloc2d.hpp" and "alloc3d.hpp"). This simplifies API, shortening the argument list of some of the functions in the VISFD library. These functions are used throughout the code, and this forced me to revisit all of the places in the code where memory was allocated. In the process, I noticed and fixed some memory allocation errors that had crept in. The "filter_mrc" program now passes all valgrind checks when run on the tests in the tests/ directory. I also added move constructors for the "MrcSimple" and "CompactMultiChannelImage3D" classes. (Hopefully all of the classes in the VISFD code now obey the rule of the big five.)

(I also added some very minor features to "morphology.hpp" (the "top hat" transformations), but they are not yet accessible from the filter_mrc program.)