pyushkevich / greedy

Very fast greedy diffeomorphic registration code
GNU General Public License v3.0
59 stars 16 forks source link

ccmake issue when building Greedy on Linux #44

Open neurolabusc opened 6 months ago

neurolabusc commented 6 months ago

Thanks for the terrific tool.

The binary version of greedy provided with the latest Linux release of ITK snap (Greedy Version 1.3.0-alpha compiled on Sep 29, 2023) was compiled with a version of ITK that generates false alarms in ensuring orthonormal directions. Re-compiling greedy with a recent version of ITK resolves this issue (I installed the Github master ITK and VTK libraries).

However, I would like to suggest the following enhancements:

/home/chris/src/greedy/testing/src/greedy_multi_chunk.cxx: In function ‘void initialize_assemblies(ChunkGreedyParameters, GreedyParameters, std::map<short int, MultiChunkAffineAssembly<VDim, TReal> >&, std::vector<short int, std::allocator<short int> >&, typename itk::Image<short int, VDim>::Pointer&)’:
/home/chris/src/greedy/testing/src/greedy_multi_chunk.cxx:189:20: error: ‘BinaryThresholdImageFilter’ in namespace ‘itk’ does not name a template type
  189 |       typedef itk::BinaryThresholdImageFilter<ChunkMaskImageType, typename LDDMMType::ImageType> TFilter;
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/chris/src/greedy/testing/src/greedy_multi_chunk.cxx:190:16: error: ‘TFilter’ has not been declared
  190 |       typename TFilter::Pointer thresh = TFilter::New();
      |                ^~~~~~~
/home/chris/src/greedy/testing/src/greedy_multi_chunk.cxx:190:33: error: expected ‘(’ before ‘thresh’
  190 |       typename TFilter::Pointer thresh = TFilter::New();
      |                                 ^~~~~~
      |                                 (
/home/chris/src/greedy/testing/src/greedy_multi_chunk.cxx:191:7: error: ‘thresh’ was not declared in this scope
  191 |       thresh->SetInput(chunk_mask);