- 20 Sep, 2013 1 commit
-
-
Mathias Bavay authored
The info string for the spatial interpolations was not being cleared between calls, leading to ever increasing content... Otherwise, using an ostringstream instead of stringstream in PNGIO and fixed a typo in the documentation.
-
- 18 Sep, 2013 1 commit
-
-
Mathias Bavay authored
More size_t fixes (ie trying to be consistent) and a bug was found when spatially interpolating using a few specific algorithms that would not reset their internal vectors between two calls (thanks Matteo for helping uncover this bug!)
-
- 05 Mar, 2013 1 commit
-
-
Mathias Bavay authored
fixing some of the warnings found on Hera (sorry for not noticing before). All the size_t / unsigned int stuff will have to be addressed later
-
- 21 Feb, 2013 1 commit
-
-
Mathias Bavay authored
My previous commit was terrible... it simply made it impossible to define optional keys. This has now been fixed but required a change in the API. So, don't use Config::nothrow but IOUtils::nothrow instead.
-
- 14 Feb, 2013 1 commit
-
-
Mathias Bavay authored
In order to try to be closer to the spirit of the STL, now the empty strings/vectors/lists are tested with .empty(), the first/last elements of vectors accessed with front()/back(), the empty strings are not contructed with string("") but with string(), etc This makes a benchmark based on meteo_reading ~4% faster and this makes the code suprisingly easier to read. Some extra constification took place as well as some minor code cleanup (optimizing the comparison between two vectors in order to perform less tests, etc). The Date class can now properly generate and parse full ISO timestamps, including time zone information. The full specification is now supported by convertString() with a helper method in the Date class. Ouputing an ISO string with its time zone is done by requesting the ISO_TZ format.
-
- 01 Feb, 2013 1 commit
-
-
Mathias Bavay authored
All the "#ifdef(_WIN)" have been replaced by "#ifdef(WIN)" for consistency. The message box code for Windows and osX has been reorganized, the console messages are now better colorized and the backtrace comes before the error message itself.
-
- 23 Nov, 2012 1 commit
-
-
Mathias Bavay authored
The cubic B-spline image resampling algorithm has been implemented in ResamplingAlgorithms2D. Various Weffc++ warnings have been fixed in PNGIO, ImisIO and GRIBIO, leading to the suppression of unused variables.
-
- 03 Nov, 2012 1 commit
-
-
Thomas Egger authored
The plugins are no longer separately loadable libraries, but are fully incorporated into libmeteoio. All classes and facilities that provided capabilites for the dynamic loading were deleted (DynamicLibrary). IOPlugin now holds a function pointer to an instantiation function for children of IOInterface. In IOHandler::registerPlugins() all plugins need to be registered with the key name, the class name, a pointer to an instance of the class and a function pointer to the instantiation function for the class (child of IOInterface). IOInterface lost some complexity and thus the constructor of the base class does not have to be called in derived classes anymore. The CMakeLists.txt files had to be updated to no longer make separate dynamically loadable libraries for each plugin, but to simply add the classes the user selectes to the meteoio library. As a side effect the io.ini key GENERAL::PLUGINPATH is no longer necessary.
-
- 31 Oct, 2012 1 commit
-
-
Mathias Bavay authored
Fixing a small bug/warning in libsmet and properly initializing the members in some plugins (through initialization lists, as usual).
-
- 26 Mar, 2012 1 commit
-
-
Mathias Bavay authored
The usage of SMET for giving special points was not documented. When giving OLWR in SMET, TSS was computed but could lead to an arithmetic exception. PNGIO could throw an exception without freeing all the png_* memory, this has been improved. A few HACKS have been fixed/removed.
-
- 05 Mar, 2012 1 commit
-
-
Mathias Bavay authored
-
- 24 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Some documentation fixes, new gradients (black to white, white to black and blue-white-red) defined and used for new variables in PNGIO (P, ALB and DW). A bug has been fixed for ILWR in GRIBIO as well as a bug when converting geographic coordinates to rotated ones. New options have been added to the undercatch filter, allowing to specify the temperature thresholds with the CST argument (to make it more similar to GeoTop).
-
- 23 Feb, 2012 1 commit
-
-
Mathias Bavay authored
The << operator for Coords has been slightly improved. The Gradient class now generated true-color output when indexed=false (and is used to generate true-color PNGs when PNG_INDEXED=false). The GRIBIO plugin now reads a file name prefix from io.ini. It also properly convert the internal rotated lat/lon into geographic lat/lon and properly computes cell size. The georeferencing of grids is therefore now correct. The WMO standardized tables are now read first before trying alternate parameters. The documentation has been significantly improved.
-
- 13 Feb, 2012 2 commits
-
-
Mathias Bavay authored
-
Mathias Bavay authored
Added the grid() operator to 2D and 3D grids (basically, calling the same operator on array2D and array3D). Fixed a parameter reading bug in PNGIO (reading the number of levels).
-
- 09 Feb, 2012 1 commit
-
-
Mathias Bavay authored
Two new methods have been implemented as static of Coords, to compute the ground length of one degree of latitude or longitude at any given latitude. A check for 0x0 sized grids has been added to PNGIO. The ability to specify the number of colors (ie: discretization) in the io.ini has been added. A breakthrough occured with GRIBIO, that starts to be able to do some things. This is still not usable, but definitely moving forward!
-
- 19 Jan, 2012 2 commits
-
-
Mathias Bavay authored
A few more type issues have been fixed. The compilation instructions for Windows have been detailed for compiling PNGIO (not so easy for Visual c++). PNG_INDEXED and PNG_SPEED_OPTIMIZE are not keys exposed to the end user.
-
Mathias Bavay authored
The fixed scale values in PNGIO have been changed, hoping to get better, more relevant plots. A few warnings have been removed (found with VC++).
-
- 18 Jan, 2012 1 commit
-
-
Mathias Bavay authored
Grid namming scheme has been changed: this now uses a slightly modified ISO format: YYYY-MM-DDTHH.MM (because ':' is invalid for filenames under Windows)
-
- 16 Jan, 2012 1 commit
-
-
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.
-
- 13 Jan, 2012 1 commit
-
-
Mathias Bavay authored
PNGIO now compiles with libpng 1.5 (as well as 1.4). Names demangling has been implemented in IOExceptions, making the backtrace much friendlier! (but this only works for gcc)
-
- 12 Jan, 2012 2 commits
-
-
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
-
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).
-
- 11 Jan, 2012 1 commit
-
-
Mathias Bavay authored
Indexed gradients are now handled by the Gradient class and used by the PNGIO plugin to generate indexed PNGs (some consts in the code can toggle it back to non-indexed images). This leads to a significant speedup and large file size reduction. On a DEM test case, while reading a 2D ARC grid and writing it back, the following have been measured: After commit 758, support for indexed PNGs. This leads to major speed and size improvements: version duration file size full color 0.530 617k reduced to 30 0.460 13% 156k 75% indexed, 30 0.352 34% 90k 85% indexed, 30 0.320 40% 123k 80% (optimized for speed)
-
- 10 Jan, 2012 1 commit
-
-
Mathias Bavay authored
The "freeze" color gradient now has a fixed point at zero celsius. A pointer error (related to the FILE pointer) has been fixed in PNGIO by making this pointer a class member. A much improved error message is now generated when a file can not be opened.
-
- 09 Jan, 2012 2 commits
-
-
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
-
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.
-
- 07 Jan, 2012 1 commit
-
-
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.
-
- 06 Jan, 2012 3 commits
-
-
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.
-
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)
-
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.
-
- 04 Jan, 2012 3 commits
-
-
Mathias Bavay authored
Better handling of "autoscale": the min and max are almost always taken into account (this is usefull to set fixed points, like the snow line, the sea level, etc) and the autoscale bool is used to tweak a given gradient for better display in autoscale (ie: removing the snow line in autoscale). The client is then responsible for provided the relevant min and max that he wants to use (constant -> no autoscale or variable -> autoscale).
-
Mathias Bavay authored
Now, the plots are fitted/optimized depending on the meteo parameter (if available). The proper metadata is written into the file (again, if available). More gradients have been implemented.
-
Mathias Bavay authored
-
- 03 Jan, 2012 1 commit
-
-
Mathias Bavay authored
The legend class is now free of hard-coded values in the middle of the code (all depends on the static consts).
-
- 02 Jan, 2012 1 commit
-
-
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.
-
- 23 Dec, 2011 1 commit
-
-
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).
-
- 22 Dec, 2011 3 commits
-
-
Mathias Bavay authored
The 2D_interpolations example has been updated to reflect recent changes (see previous commit). Improvements in the legend for PNGIO.
-
Mathias Bavay authored
This addresses the 2D part of issue 168: the ability to specify which meteo parameter and time step to read/write from/to a 2D grid. This should be the prefered reading method in the future, since it leaves to the plugin the task of building the file name, extension, database table, etc This also provides added metadata and more control over the writing process.
-
Mathias Bavay authored
The legend text has now its own color and the legend background can also have its own color (or remain transparent).
-