dataflowg / g-image

A LabVIEW image library.
The Unlicense
6 stars 3 forks source link

G-Image

A cross-platform LabVIEW library for loading, saving, and processing images.

What's New? - Features - Installation - Usage - Building - Comparison - License - Acknowledgments

What's New?

Changed VIs

Features

Installation

G-Image is published on vipm.io, and can be installed using VI Package Manager (VIPM). The packages are also available as github releases and can be installed manually using VIPM.

Usage

See the example VIs in Examples to load, save, and process images.

Unit tests are included and can be run individually, or with the AST Unit Tester.

Building

TBD

Comparison

Image Loading

In addition to loading the formats below from a file, G-Image supports loading images directly from memory.

Format G-Image LabVIEW Picture Functions
PNG :heavy_check_mark:¹ :heavy_check_mark:
JPEG :heavy_check_mark: :heavy_check_mark:
BMP :heavy_check_mark:¹ :heavy_check_mark:³
GIF :heavy_check_mark:¹ :x:
Animated GIF :heavy_check_mark:¹ :x:
TGA :heavy_check_mark: :x:
SVG :heavy_check_mark:² :x:
PSD :heavy_check_mark: :x:
HDR :heavy_check_mark: :x:
PIC :heavy_check_mark: :x:
PNM :heavy_check_mark: :x:
QOI :heavy_check_mark: :x:
PCX :heavy_check_mark:¹ :x:

¹ Indexed color images (8-bit and below) are supported, but are converted to 24-bit or 32-bit images. This may change in future updates.

² Only vector paths are supported.

³ 32-bit images are unsupported.

Image Saving

In addition to saving the formats below to a file, G-Image supports saving images directly in memory.

Format G-Image LabVIEW Picture Functions
PNG :heavy_check_mark:¹ :heavy_check_mark:
JPEG :heavy_check_mark: :heavy_check_mark:
BMP :heavy_check_mark:¹ :heavy_check_mark:
GIF :heavy_check_mark: :heavy_check_mark:²
Animated GIF :heavy_check_mark: :x:
TGA :heavy_check_mark: :x:
QOI :heavy_check_mark: :x:

¹ Indexed color images (8-bit and below) are supported, but are converted to 24-bit or 32-bit images. This may change in future updates.

² The GIF save function isn't in the palette, but can be found in <vi.lib>\picture\gif.llb\Write GIF File.vi. Only 8-bit images are supported, and are not compressed with LZW compression.

License

This library is built using public domain image libraries where possible. As such, this library is also made available in the public domain. See LICENSE for details.

Not all libraries used by G-Image are public domain, but are licensed using open source permissive licenses.

Acknowledgments

This library uses the following open source libraries. Massive thanks to these authors.

Library Author License
stb_image.h Sean Barrett Unlicense / MIT
stb_image_write.h Sean Barrett Unlicense / MIT
stb_image_resize.h Sean Barrett Unlicense / MIT
miniz¹ Rich Geldreich Unlicense
gif-h Charlie Tangora Public Domain
nanosvg Mikko Mononen zlib
qoi Dominic Szablewski MIT
dr_pcx David Reid Public Domain
msf_gif notnullnotvoid Public Domain

¹ The linked version is public domain, and is the version used in G-Image. Newer versions of miniz are MIT licensed.