About tgd
Tagged Grid Data (TGD) is a library to make working with multidimensional arrays in C++ easy.
For example:
TGD::Array<uint8_t> image({ 640, 480 }, 3);
image[{ x, y }][0] = redValue;
image[{ x, y }][1] = greenValue;
image[{ x, y }][2] = blueValue;
TGD::save(image, "image.png");
Iterators are provided, so you can use STL algorithms on TGD arrays, e.g. std::for_each
, std::sort
etc.
You can also apply custom functions, functors, or lamba expressions to array contents in a single line of code.
The core TGD library is header-only; you just include <tgd/array.hpp>
.
For input and output you can optionally link against libtgd
. This library has
builtin support for various file formats including png, jpeg, exr, hdr, pfm,
ppm, bmp, tga, csv, and the native tgd format.
No external libraries are required. Optionally, additional libraries can be used to support file formats such as tiff, dicom, hdf5, pdf, pfs, fits, mp4 and others.
There is also a command line utility named tgd
that can create, convert and
modify files in supported formats, and print information about them. The tgd
utility does not require any libraries either, but can use the muparser library
for its calc
command.
This project uses the MIT license.