Skip to content
Snippets Groups Projects
  1. Jul 18, 2018
    • Victor Poughon's avatar
      COMP: add missing string includes · fc923078
      Victor Poughon authored
      Before this commit, many files are using std::string without including
      <string>. It can work accidentally but causes issues when refactoring,
      especially if using operator <<() which is included implicitly by some
      compilers.
      
      To find guilty header files, I used:
      
          grep -l "^ *std::string" $(grep -L "#include <string>" $(find . -type f -name "*.h"))
      
      which finds all files containing "std::string" at the beginning of a line
      (usually a member or variable declaration), but not "#include <string>".
      And then this script to add the includes (plus some manual ediing):
      
          #!/usr/bin/env python3
      
          import re
          import argparse
      
          def fix_file(filename, header):
      
              with open(filename, "r") as f:
                  content = f.read()
      
              matches = list(re.finditer(r"(#include .*\n)\n", content))
              if len(matches) == 0:
                  print("no include!")
                  sys.exit(-1)
      
              pos = matches[-1].end(1)
              open(filename, "w").write(content[:pos] + "#include <{}>\n".format(header) + content[pos:])
      
          if __name__ == "__main__":
              parser = argparse.ArgumentParser()
              parser.add_argument('--header', type=str, required=True)
              parser.add_argument('files', type=str, nargs='+')
              args = parser.parse_args()
      
              for filename in args.files:
                  fix_file(filename, args.header)
      fc923078
  2. Jul 13, 2018
  3. Jul 12, 2018
    • Laurențiu Nicola's avatar
      ENH: Use std instead of vcl headers · eb259c64
      Laurențiu Nicola authored
      find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/vcl_(algorithm|complex|cmath)\.h/\1/g"
      
      find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/std::complex\.h/complex/g"
      
      find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri 's/#include "(algorithm|cmath|complex)"/#include <\1>/g'
      eb259c64
    • Laurențiu Nicola's avatar
      ENH: Use math functions in std:: instead of vcl · fcbf830b
      Laurențiu Nicola authored
      find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/([^<])vcl_(adjacent_find|and|binary|binary_search|copy|copy_|count|count_if|equal|equal_range|fill|fill_n|find|find_end|find_first_of|find_if|for_each|generate|generate_n|generators_|heap|includes|inplace_merge|iter_swap|lexicographical_compare|lower_bound|make_heap|max|min|max_element|merge|merge_|min_element|mismatch|next_permutation|nth_element|partial_sort|partial_sort_copy|partition|stable_partition|partitions_|pop_heap|prev_permutation|push_heap|random_shuffle|remove|remove_copy|remove_copy_if|remove_if|replace|replace_copy|replace_copy_if|replace_if|reverse|reverse_copy|rotate|rotate_copy|search|search_n|set_difference|set_intersection|set_symmetric_difference|set_union|sort|sort_|sort_heap|stable_sort|swap|swap_|swap_ranges|transform|unique|unique_copy|upper_bound|bitset|abs|acos|asin|atan|atan2|ceil|cos|cosh|exp|fabs|floor|fmod|frexp|ldexp|log|log10|modf|pow|sin|sinh|sqrt|tan|tanh|complex|real|imag|arg|norm|conj|polar|jmp_buf|longjmp|sig_atomic_t|raise|signal|va_list|ptrdiff_t|size_t|FILE|fpos_t|fopen|fclose|feof|ferror|fflush|fgetc|fgetpos|fgets|fwrite|fread|fseek|ftell|perror|clearerr|rename|fputc|fputs|freopen|fsetpos|getc|getchar|gets|putc|putchar|puts|rewind|setbuf|setvbuf|tmpfile|tmpnam|ungetc|printf|sprintf|fprintf|vprintf|vsprintf|vfprintf)/\1std::\2/g"
      
      find \( -name "*.hxx" -or -name "*.h" -or -name "*.cxx" \) -not -path "*ThirdParty*" -print0 | xargs -0 sed -sri "s/<<vcl_log/<<std::log/g"
      fcbf830b
  4. Jul 06, 2018
  5. Jul 05, 2018
  6. Jul 04, 2018
  7. Jul 02, 2018
  8. Jun 26, 2018
    • Manuel Grizonnet's avatar
      ENH: Document that conversion applications in otb don't support complex pixel types as output · 06116617
      Manuel Grizonnet authored
      For now complex pixel types are not supported by Convert and DynamicConvert
      applications (see switch/case in the generic DoExecute method). This commit just
      document this limitation.
      
      Note that the ExtractROI application can be used to convert image from/to
      complex image.
      06116617
    • Manuel Grizonnet's avatar
      ENH: Allow to compute modulus and phase from 2 bands scalar image · 5210af91
      Manuel Grizonnet authored
      The support of complex images in otb applications as improved in version
      6.6. There is generic mechanism based on teh ClampImageFilter which allow to
      go from/to complex or multi-bands scalar images.
      
      The only change is to read the input image as ComplexFloatImageType which
      support both complex image (single band) or image with 2 bands which corresponds
      to the real and imaginary parts.
      
      The documentation of the application has been updated to reflect this
      modification.
      5210af91
  9. Jun 25, 2018
    • Manuel Grizonnet's avatar
      7fe54ded
    • Manuel Grizonnet's avatar
      ENH: rename files with txx extension to hxx · 3a1fd1fc
      Manuel Grizonnet authored
      OTB followed since the beginning the ITK convention and use .txx extension for all
      template classes. Nevertheless, some development tools do not recognize .txx
      file extension. Other tool like GitHub can't do in-browser syntax highlighting for
      txx files I think.
      
      The root problem is the use of the txx which should be changed to hxx (or hpp).
      
      In 2011, after an in-depth discussion near April 20, 2011 on the
      Insight-Developers mailing list, ITK rename all txx files to hxx (and event
      prevent the push of .txx files with a pre-commit hook). It happens is major release v4.
      
      You can find some arguments in the discussion about the change and also in other
      projects related to ITK which applied the same modification, see for instance VXL:
      
      https://github.com/vxl/vxl/issues/209
      
      This commit apply now the same modification for OTB.
      
      I understand that it will change some habit for developers and don't bring new
      features but I think that in general it is better to stay align with ITK guidelines.
      
      In my opinion, it always facilitate the use of OTB and ITK together if we share
      when we can the same code architecture, directory organization, naming
      conventions...
      3a1fd1fc
  10. Jun 08, 2018
  11. Jun 07, 2018
  12. May 30, 2018
  13. May 29, 2018
  14. May 28, 2018
  15. May 25, 2018
  16. Apr 26, 2018
  17. Apr 23, 2018
  18. Apr 19, 2018
  19. Apr 17, 2018
  20. Apr 12, 2018
  21. Apr 11, 2018
  22. Apr 04, 2018
  23. Apr 03, 2018
Loading