WSL/SLF GitLab Repository

  1. 25 Jan, 2012 1 commit
    • Mathias Bavay's avatar
      A new plugin appears: GRIBIO, to read GRIB files (see issue 19). This is still... · bf5a2508
      Mathias Bavay authored
      A new plugin appears: GRIBIO, to read GRIB files (see issue 19). This is still extremely preliminary alpha code (enough warnings?!), but it should (hopefully) quickly evolve. A small naming inconsistency has been fixed in template.cc and all plugins now keep a reference to a Config object instead of a full copy (which means that the only full copy of a Config object should now be in IOManager and all other components should have a reference to it). 
      bf5a2508
  2. 23 Jan, 2012 1 commit
  3. 20 Jan, 2012 1 commit
  4. 19 Jan, 2012 3 commits
  5. 18 Jan, 2012 1 commit
  6. 17 Jan, 2012 2 commits
    • Mathias Bavay's avatar
      The IOManager was only keeping a reference to the Config object given in its... · 0921ea6c
      Mathias Bavay authored
      The IOManager was only keeping a reference to the Config object given in its constructor. Unfortunately, this means that if the original Config object would go out of scope, the reference would become invalid. Moreover, all internal objects (BufferedIOHandler, Meteo1DInterpolator, etc) were keeping the same reference to this external Config object. However, IOHandler was keeping a copy of the object. This has now been changed: IOManager keeps a copy of the Config object given to its constructor, and all other objects keep a reference to this copy. Therefore, the original Config object can be destroyed without any problem and the internal copy is kept at only one place (within IOManager).
      
      A division by zero (for min=max) has been found and fixed in PGMIO. Moreover, the min and max are written in the metadata (so that the file can be read again and properly rescaled).
      0921ea6c
    • Mathias Bavay's avatar
  7. 16 Jan, 2012 2 commits
    • Mathias Bavay's avatar
      The IOManager can now return a copy of its internal Config object. This is... · 7dedf299
      Mathias Bavay authored
      The IOManager can now return a copy of its internal Config object. This is convenient for times when one wants to create extra outputs but using a different plugin. A missing const has been added to Config and creating an IOHandler by passing it a config file name is not possible anymore (this was deprecated when we introduced the IOManager). Therefore, the IOHandler now only keeps a reference to a Config object. This means that in the full structure held within IOManager, only one copy of Config is kept, the rest being references.
      7dedf299
    • Mathias Bavay's avatar
      A small bug has been found and fixed in the Gradient class (when a data range... · 3b62f4d5
      Mathias Bavay authored
      A small bug has been found and fixed in the Gradient class (when a data range is zero). A few extra output specifications have been added to PNGIO.
      3b62f4d5
  8. 13 Jan, 2012 3 commits
  9. 12 Jan, 2012 3 commits
    • Mathias Bavay's avatar
      Fixed the PNG world file (so that we return the coordinates of the center of... · adee205e
      Mathias Bavay authored
      Fixed the PNG world file (so that we return the coordinates of the center of the cell) and updated the examples so that they perform correctly with the latest version
      adee205e
    • Mathias Bavay's avatar
      Speed improvement for IDW based on the profiling performed by HES-SO's V.... · af7bbbd6
      Mathias Bavay authored
      Speed improvement for IDW based on the profiling performed by HES-SO's V. Grivel: the stations' positions are saved in two vectors (eastings and northings) before walking the grid. For low number of stations, this makes no visible difference. For large number of stations, this makes a huge difference (as seen on the Graubünden simulation, with 35 stations).
      af7bbbd6
    • Mathias Bavay's avatar
      After playing with pngcrush, a new filter has been enabled for the PNG... · d31214f2
      Mathias Bavay authored
      After playing with pngcrush, a new filter has been enabled for the PNG compression. A specific compression strategy for deflate is also now enabled for indexed images. This keeps run time identical but offers a significantly smaller file size (compared to the full color, initially generated PNG of the last benchmarks, it now shows a 40% run time reduction for the whole loading+png output and 87% size reduction).
      d31214f2
  10. 11 Jan, 2012 2 commits
  11. 10 Jan, 2012 1 commit
  12. 09 Jan, 2012 3 commits
    • Mathias Bavay's avatar
      Introducing smart legends: this tries to find a meanigful range and steps... · c0b7d2ff
      Mathias Bavay authored
      Introducing smart legends: this tries to find a meanigful range and steps within that range. The choice of rounding the lower and upper bounds (thus not guaranteeing that the whole data fits in the legend) has been made as it could lead to more suitable legends.
      c0b7d2ff
    • Mathias Bavay's avatar
      Changing the case of A3D_VIEW in ARCIO, fixed an image corruption issue in... · 5e4d6709
      Mathias Bavay authored
      Changing the case of A3D_VIEW in ARCIO, fixed an image corruption issue in PNGIO (libpng just *forgets* to flush the file buffer...). Added a missing include in MeteoIO.h
      5e4d6709
    • Mathias Bavay's avatar
      A new key has been added that was missing: GRID2DPATH that can be in intput... · 03109eee
      Mathias Bavay authored
      A new key has been added that was missing: GRID2DPATH that can be in intput and output. This key is now properly handled by the appropriate plugins. A new color reduction strategy has been implemented in the gradients and the PNG plugin: instead of reducing the colors coming out of the gradient, the values coming in are discretized. This leads to much more effective size reduction for the same output quality, with 5% speed increase compared to the original code not doing this reduction (test: reading and writing back a grid). The file size is now 1/3 of the full color file.
      03109eee
  13. 07 Jan, 2012 1 commit
    • Mathias Bavay's avatar
      A few hard coded parameters have been declared as static const (color depth... · 244c1931
      Mathias Bavay authored
      A few hard coded parameters have been declared as static const (color depth per channel, max color per channel) in order to make the code cleaner. A new method has been introduced in the Gradient class: setNrOfColors. This allows to specify a reduced number of unique colors (even if still coded on 8 bits per channel). By using this call in PNGIO (with 8000 unique colors), the output remains visibly almost the same (only some very slow varying parts see a flat color instead of a slow gradient) while the run time is reduced by up to 5% and the file size more than halved.
      244c1931
  14. 06 Jan, 2012 3 commits
    • Mathias Bavay's avatar
      The gradients now don't provide a transparency value (since it had to be... · 768f719a
      Mathias Bavay authored
      The gradients now don't provide a transparency value (since it had to be either fully opaque or fully transparent) but only a boolean. PNGIO now uses a transparent color to encode transparency instead of a true alpha channel, leading to improved run times and smaller file size. The drawback is that pure white is now the transparent color.
      768f719a
    • Mathias Bavay's avatar
      A new gradient type has been added (blue-green isomorphic) and some small... · ec3eb4a7
      Mathias Bavay authored
      A new gradient type has been added (blue-green isomorphic) and some small things improved thanks to valgrind (one potential out of bounds read and with callgrind some small speed improvements)
      ec3eb4a7
    • Mathias Bavay's avatar
      New methods "moveByXY" and "moveByBearing" have been added to Coords,... · e2e3db32
      Mathias Bavay authored
      New methods "moveByXY" and "moveByBearing" have been added to Coords, addressing issue 39. Code cleanup and extensive documenting have been performed on Graphics and PNGIO, that now supports creating world file (optionnally). A new option has also been added to ARCIO, "A3D_view", to generate file names compatible with the Alpine3D's grid viewer (false by default). A new function to remove the extension from a file name has been implemented in IOUtils.
      e2e3db32
  15. 04 Jan, 2012 3 commits
  16. 03 Jan, 2012 2 commits
  17. 02 Jan, 2012 1 commit
    • Mathias Bavay's avatar
      The NearestNeighbour 2D resampling algorithm has been reshaped in order to... · 14736bb0
      Mathias Bavay authored
      The NearestNeighbour 2D resampling algorithm has been reshaped in order to offer the same interface as BiLinear. A typo in its name has been fixed. But NearestNeighbour does not work properly (bug not found yet)
      
      A better way of submitting metadata to libpng has been implemented (ie: two vectors of strings that are then converted to char* to be given to libpng). The plugin basic options have been implemented, including size specifications. 
      
      Some fonts improvements.
      14736bb0
  18. 25 Dec, 2011 1 commit
  19. 23 Dec, 2011 1 commit
    • Mathias Bavay's avatar
      The purely graphical parts of PNGIO have been isolated in a new file,... · 171de825
      Mathias Bavay authored
      The purely graphical parts of PNGIO have been isolated in a new file, Graphics, that contain the Legend class, a Color namespace and a Gradient class. The gradient code is not so clean yet, but the PNGIO plugin is now much cleaner. The color gradients will actially need some serious re-actoring and design in order to be both flexible and efficient (the odds are, it would be based on a object factory and several derived classes like for libFit1D).
      171de825
  20. 22 Dec, 2011 3 commits
  21. 20 Dec, 2011 2 commits