gmic/html/index.html

355 lines
25 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="highslide/highslide.css"/>
<title>G&apos;MIC - GREYC&apos;s Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main</title>
<script src="jquery-3.5.1.min.js"></script>
<script>var jQuery_3_5_1 = $.noConflict(true);</script>
<script src="highslide/highslide-full.js"></script>
<script>
hs.graphicsDir = 'highslide/graphics/';
hs.wrapperClassName = 'wide-border';
hs.showCredits = 'false';
</script>
</head>
<body>
<!--#include file="header.html" -->
<!-- ************* -->
<!-- In a Nutshell -->
<!-- ************* -->
<div class="section_title"><p>In a Nutshell</p></div><div class="section_content">
<table class="table_left"><tr>
<td style="text-align:center;">
<div><a href="img/gmicky_deevad600.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="Gmicky" width="180" src="img/gmicky_deevad220.jpg"/></a>
<div class="highslide-caption">
<i><b>Gmicky</b>, the G&apos;MIC mascot, artwork by <a href="http://www.davidrevoy.com/">David Revoy</a>.</i>
</div></div>
<p class="p_caption"><b>Gmicky</b>, the G&apos;MIC mascot<br/>(artwork by <a href="http://www.davidrevoy.com/">David Revoy</a>)</p>
<div class="gmic_button_large"><a href="download.html"><img alt="Download" src="img/download_icon.png"/></div></a>
<div class="gmic_button_large"><a href="https://libreart.info/en/projects/gmic"><img alt="Support Us" src="img/supportus_icon.png"/></a></div>
<div class="gmic_button_large"><a href="gallery"><img alt="Gallery" src="img/gallery_icon.png"/></a></div>
<hr class="hr_small"/>
<a href="https://libreart.info/en/projects/gmic"><p class="p_caption">Latest donations received:</p>
<img alt="Latest donations" src="img/donations_latest_months.png" width="200"/></a>
<hr class="hr_small"/>
<span class="gmic_button_small"><a id="tenyears_id" href="https://pixls.us/blog/2018/08/g-mic-2-3-6/"><img alt="10 Years" src="img/10years.png"/></a></span>
<span class="gmic_button_small"><a id="elevenyears_id" href="https://pixls.us/blog/2019/09/g-mic-2-7-process-your-images-with-style/"><img alt="11 Years" src="img/11years.png"/></a></span>
<span class="gmic_button_small"><a id="thirteenyears_id" href="https://gmic.eu/gmic300/"><img alt="13 Years" src="img/13years.png"/></a></span>
<span class="gmic_button_small"><a id="fifteenyears_id" href="https://gmic.eu/gmic325/"><img alt="15 Years" src="img/15years.png"/></a></span>
</td>
<td>
<p>
<b><span class="gmd_gmic">G&apos;MIC</span></b> is a full-featured <a target="_blank" href="https://en.wikipedia.org/wiki/Open-source_model">open-source</a>
framework for <a target="_blank" href="https://en.wikipedia.org/wiki/Digital_image_processing">digital image processing</a>,
distributed under the
<a target="_blank" href="http://cecill.info/index.en.html">CeCILL</a> free software licenses (LGPL-like and/or GPL-compatible).
It provides several <a target="_blank" href="https://en.wikipedia.org/wiki/User_interface">user interfaces</a> to convert / process / visualize
<b>generic image datasets</b>, ranging from 1D scalar signals to 3D+t sequences of multi-spectral volumetric images, hence including 2D color images.
</p>
<p>
We provide these different G&apos;MIC user interfaces:
</p>
<table class="table_content">
<tr>
<td>
<hr class="hr_small"/>
<p>
<b>1</b> - <a href="reference">gmic</a>, a command-line tool to use the G&apos;MIC image processing features from a shell.
In this setting, G&apos;MIC may be seen as a friendly companion to the <a href="http://www.imagemagick.org">ImageMagick</a>
or <a href="http://www.graphicsmagick.org">GraphicsMagick</a> software suites.
</p>
<p class="p_more"><a href="reference">[learn more...]</a></p>
</td>
<td><div><a href="img/ui_cli.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="CLI" src="img/t_ui_cli.jpg"/></a>
<div class="highslide-caption"><i><b>gmic</b>, the command-line interface of G&apos;MIC.</i></div></div></td>
</tr>
<tr>
<td>
<hr class="hr_small"/>
<p>
<b>2</b> - <a target="_blank" href="https://github.com/c-koi/gmic-qt">G&apos;MIC-Qt</a>, a plug-in to bring G&apos;MIC capabilities
to the image retouching and painting software <a target="_blank" href="http://www.gimp.org">GIMP</a>, <a target="_blank" href="http://www.krita.org">Krita</a>,
<a target="_blank" href="https://en.wikipedia.org/wiki/Adobe_Photoshop">Photoshop</a>,
<a target="_blank" href="https://en.wikipedia.org/wiki/Affinity_Photo">Affinity Photo</a>,
<a target="_blank" href="https://en.wikipedia.org/wiki/PaintShop_Pro">PaintShop Pro</a>,
<a target="_blank" href="https://en.wikipedia.org/wiki/PhotoLine">PhotoLine</a>
and <a target="_blank" href="https://www.getpaint.net/">Paint.NET</a>.
More than <b>500</b> filters are already available, sorted by category (<i>Artistic, Black &amp; white, Colors, Contours, Deformations, Degradations, Details, Color Grading, Frames, Layers,
Light &amp; shadows, Patterns, Rendering, Repair, Sequences</i>, etc.).
</p>
<p class="p_more"><a href="download.html">[download...]</a></p>
</td>
<td><div><a href="img/ui_gmicqt.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="G&apos;MIC-Qt" src="img/t_ui_gmicqt.jpg"/></a>
<div class="highslide-caption"><i>The G&apos;MIC plug-in in action!</i></div></div></td>
</tr>
<tr>
<td>
<hr class="hr_small"/>
<p>
<b>3</b> - <a href="libgmic.html">libgmic</a>, a small, portable, thread-safe and multi-threaded, <i>C++</i> image processing library to be linked to third-party applications.
<a href="libgmic.html">Its simple API</a> allows programmers to add all G&apos;MIC features in their own software without much efforts
(a <i>C</i> API is available as well).
</p>
<p class="p_more"><a href="libgmic.html">[learn more...]</a></p>
</td>
<td><div><a href="img/ui_libgmic.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="libgmic" src="img/t_ui_libgmic.jpg"/></a>
<div class="highslide-caption"><i><b>libgmic</b>, a small, thread-safe, multi-threaded, C++ image processing library to embed all G&apos;MIC features
in third-party applications.</i></div></div></td>
</tr>
<tr>
<td>
<hr class="hr_small"/>
<p>
<b>4</b> - <a href="https://gmicol.greyc.fr">G&apos;MIC Online</a>, a web service to allow users applying image processing algorithms
on their images, directly from a web browser.
</p>
<p class="p_more"><a href="https://gmicol.greyc.fr">[try it now...]</a></p>
</td>
<td><div><a href="img/ui_gmicol.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="G&apos;MICOL" src="img/t_ui_gmicol.jpg"/></a>
<div class="highslide-caption"><i><b>G&apos;MIC Online</b>, the web service to use G&apos;MIC from a browser.</i></div></div></td>
</tr>
<tr>
<td>
<hr class="hr_small"/>
<p>
<b>5</b> - <a href="img/ui_zart.jpg" class="highslide" onclick="return hs.expand(this)"><b>ZArt</b></a><span class="highslide-caption">Screenshot of <b>ZArt</b> in action.</span>,
a Qt-based interface for real-time processing of video streaming coming from webcams or video files.
</p>
<p class="p_more"><a href="https://www.youtube.com/watch?v=k1l3RdvwHeM">[learn more...]</a></p>
<hr class="hr_small"/>
</td>
<td><div><a href="img/ui_zart.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="ZArt" src="img/t_ui_zart.jpg"/></a>
<div class="highslide-caption"><i><b>ZArt</b>, a real-time video processing software using the G&apos;MIC processing library.</i></div></div></td>
</tr>
</table>
<p>Other open-source projects are known to use some of the G&apos;MIC features:</p>
<ul>
<li><b><a href="http://ekd.tuxfamily.org/">EKD</a></b>, a free software dedicated to postproduction processing for videos and images.</li>
<li><b><a href="https://github.com/jliljebl/flowblade">Flowblade</a></b>, a multitrack non-linear video editor for Linux released under GPL 3 license.</li>
<li><b><a href="http://aferrero2707.github.io/PhotoFlow/">Photoflow</a></b>, a fully non-destructive photo retouching program.</li>
<li><b><a href="http://veejayhq.net/">Veejay</a></b>, a visual instrument and realtime video sampler.</li>
</ul>
<p>
The G&apos;MIC source code has been registered to the <a href="http://app.legalis.net/paris/">APP</a>
(French Agency for the Protection of Programs) by the <a href="http://www.cnrs.fr/index.php">CNRS</a>,
under registration number:<br/>
<i>IDDN.FR.001.170024.000.S.P.2017.000.21000.</i>
</td>
</tr></table>
</div><div class="section_end"></div>
<!-- ************* -->
<!-- Screenshots -->
<!-- ************* -->
<div class="section_title"><p>Screenshots</p></div><div class="section_content">
<p>
Here are some screenshots illustrating various uses of <span class="gmd_gmic">G&apos;MIC</span>.
It shows how it is able to process and visualize different types of 1D/2D/3D image datasets.
G&apos;MIC is actually a handy toolbox for many image/signal processing applications.
See also the <a href="gallery/">Gallery section</a> for more detailed examples on its use.
You can also try the <a href="https://gmicol.greyc.fr">online version</a> of G&apos;MIC
to try some of the filters it proposes.
</p>
<p class="center">
<img src="img/ss_brain3d.jpg" alt="G&apos;MIC screenshot 1"/>
<img src="img/ss_cubism.jpg" alt="G&apos;MIC screenshot 2"/>
<img src="img/ss_anim3d.gif" alt="G&apos;MIC screenshot 3"/>
<img src="img/ss_surface.jpg" alt="G&apos;MIC screenshot 4"/>
<img src="img/ss_tiger.jpg" alt="G&apos;MIC screenshot 5"/>
<img src="img/ss_caesar.jpg" alt="G&apos;MIC screenshot 6"/>
<img src="img/ss_plot.jpg" alt="G&apos;MIC screenshot 7"/>
<img src="img/ss_object3d.jpg" alt="G&apos;MIC screenshot 8"/>
<img src="img/ss_morph.gif" alt="G&apos;MIC screenshot 9"/>
<img src="img/ss_lenacube3d.jpg" alt="G&apos;MIC screenshot 10"/>
<img src="img/ss_xlife.jpg" alt="G&apos;MIC screenshot 11"/>
<img src="img/ss_colors3d.jpg" alt="G&apos;MIC screenshot 12"/>
<img src="img/ss_xspline.jpg" alt="G&apos;MIC screenshot 13"/>
<img src="img/ss_lena_denoise.jpg" alt="G&apos;MIC screenshot 14"/>
<img src="img/ss_mandelbrot.png" alt="G&apos;MIC screenshot 15"/>
</p>
</div><div class="section_end"></div>
<!-- ************* -->
<!-- Philosophy -->
<!-- ************* -->
<div class="section_title"><p>Philosophy</p></div><div class="section_content">
<p>
<span class="gmd_gmic">G&apos;MIC</span> is focused on the design of possibly complex pipelines for converting, processing and visualizing
<b>generic 1D/2D/3D multi-spectral image datasets</b>. This includes of course color images,
but also more complex data as image sequences or 3D(+t) volumetric float-valued datasets.
To do so, G&apos;MIC defines a lightweight but powerful <b>script language</b>
(the <a href="reference/">G&apos;MIC language</a>) dedicated to the design of
<b>image processing operators and pipelines</b>.
</p>
<p>
G&apos;MIC is an <b>open framework</b>: the default language can be extended with
custom G&apos;MIC-written commands, defining thus new available image filters or effects. By the way, G&apos;MIC already
contains a substantial set of pre-defined image processing algorithms and pipelines (more than 1000).
G&apos;MIC is natively multi-threaded. It uses <a href="http://www.openmp.org/">OpenMP</a> to take advantage of multiple cores
for speeding up the computation of image processing operations.
</p>
<p>
G&apos;MIC has been designed with <b>portability</b> in mind and runs on different platforms (Windows, Unix, MacOSX).
Since 2008, it is mainly developed in the
<a href="https://www.greyc.fr/image">Image Team</a>
of the
<a href="http://www.greyc.fr/">GREYC</a> laboratory, in Caen/France,
by permanent researchers working in the field of image processing on a daily basis.
</p>
<p>
Other interesting technical aspects of G&apos;MIC are:
</p>
<ul>
<li>It can process a wide variety of image types, including <b>multi-spectral</b>
(arbitrary number of channels) and <b>3D volumetric</b> images, as well as <b>image sequences</b>, or <b>3D vector objects</b>.
Images with different <b>pixel types</b> are supported, allowing to process flawlessly images with 8bits
or 16bits integers per channel, as well as float-valued datasets.</li>
<li>It internally works with <b>lists of images</b>. Image manipulations and interactions can be done either grouped or
focused on specific items.</li>
<li>It provides light but efficient <b>visualization modules</b> dedicated to the exploration/viewing of
2D/3D multi-spectral images, 3D vector objects (elevation map, isocurves, isosurfaces,...), or 1D graph plots.</li>
<li>It is <b>highly extensible</b> through the possible inclusion of
<b><a href="gmic_stdlib.gmic">custom command files</a></b>
which add new commands that become understood by the language interpreter. Thus, users can design their own
image processing library on top of G&apos;MIC.</li>
<li>It proposes commands to handle custom <b>interactive windows</b> where events can be managed by the user.</li>
<li>It is based on the latest development version of the <a href="http://cimg.eu"><b>CImg Library</b></a>,
a well established C++ template image processing toolkit, created and maintained by the same team of developers since 1999.</li>
</ul>
</div><div class="section_end"></div>
<!-- ************* -->
<!-- Team -->
<!-- ************* -->
<a id="team"></a>
<div class="section_title"><p>Team</p></div><div class="section_content">
<p>
Project Managers and Main Developers:
</p>
<ul>
<li><a href="http://tschumperle.users.greyc.fr/"><b>David Tschumperlé</b></a> (core, CLI interface, C++ and G&apos;MIC libraries).</li>
<li><a href="https://foureys.users.greyc.fr/"><b>Sébastien Fourey</b></a> (G&apos;MIC-Qt, G&apos;MIC online and ZArt).</li>
</ul>
<p>
If you appreciate what we do on <span class="gmd_gmic">G&apos;MIC</span>,
please consider <a class="donation_link" href="https://libreart.info/en/projects/gmic">supporting us</a> !
</p>
Contributors:<br/>
<table><tr>
<td><ul>
<li><a target="_blank" href="http://www.aljacom.com/~gimp/"><b>Sylvie Alexandre</b></a> (packaging, testing, filters).</li>
<li><a target="_blank" href="http://www.partha.com"><b>Partha Bagchi</b></a> (packaging).</li>
<li><a target="_blank" href="http://www.berrange.com"><b>Daniel P. Berrang&eacute;</b></a> (packaging).</li>
<li><a target="_blank" href="http://greyc.stlo.unicaen.fr/bougleux/"><b>S&eacute;bastien Bougleux</b></a> (debugging).</li>
<li><b>J&eacute;rome Boulanger</b> (code, testing).</li>
<li><a target="_blank" href="http://www.xcfa.tuxfamily.org/"><b>Claude Bulin</b></a> (packaging).</li>
<li><b>Aur&eacute;lien Ceyden</b> (packaging).</li>
<li><a target="_blank" href="https://pureservices.com.au/author/mathew-callaghan/"><b>Matthew Callaghan</b></a> (filters).</li>
<li><a target="_blank" href="http://www.flickr.com/photos/fcollard/"><b>Fran&ccedil;ois Collard</b></a> (testing).</li>
<li><a target="_blank" href="https://www.greyc.fr/users/couronne"><b>Christophe Couronne</b></a> (G&apos;MIC online).</li>
<li><a target="_blank" href="http://blog.patdavid.net/"><b>Patrick David</b></a> (testing).</li>
<li><a target="_blank" href="http://devernay.free.fr/"><b>Frederic Dervernay</b></a> (code).</li>
<li><a target="_blank" href="https://www.greyc.fr/user/336"><b>Maxime Daisy</b></a> (code, testing).</li>
<li><a target="_blank" href="http://iainfergusson.co.nz/"><b>Iain Fergusson</b></a> (filters).</li>
<li><a target="_blank" href="https://plus.google.com/u/0/b/117441237982283011318/+TobiasFleischer/posts"><b>Tobias Fleischer</b></a> (code, testing).</li>
<li><a target="_blank" href="http://www.lffl.org/"><b>Roberto Ferramosca</b></a> (packaging).</li>
<li><a target="_blank" href="http://zonderr.wordpress.com/"><b>J&eacute;rome Ferrari</b></a> (code, testing, tutorials).</li>
<li><a target="_blank" href="http://photoflowblog.blogspot.fr"><b>Andrea Ferrero</b></a> (code, testing, builds).</li>
<li><a target="_blank" href="https://plus.google.com/u/0/117150607704159021783/posts"><b>Chris Fiedler</b></a> (gfx).</li>
<li><a target="_blank" href="http://www.flickr.com/photos/53229621@N02/"><b>Gentlemanbeggar</b></a> (filters).</li>
<li><a target="_blank" href="https://github.com/0ion9"><b>David Gowers</b></a> (testing).</li>
<li><b>Silvio Grosso</b> (debugging).</li>
<li><a target="_blank" href="http://claes-particle.blogspot.com/"><b>Claes Holmerson</b></a> (tutorials).</li>
<li><a target="_blank" href="http://www.flickr.com/photos/naggobot/"><b>Arto Huotari</b></a> (filters).</li>
<li>Dan Leinir Turthra Jensen (debugging).</li>
<li><a target="_blank" href="http://mjambon.com"><b>Martin Jambon</b></a> (filters).</li>
<li><a target="_blank" href="http://www.flickr.com/photos/tomkeil/"><b>Tom Keil</b></a> (testing, filters, tutorials).</li>
<li><b>Andy Kelday</b> (testing, filters).</li>
<li><a target="_blank" href="http://sanderknopper.nl"><b>Sander Knopper</b></a> (testing, cmake build).</li>
<li><a target="_blank" href="https://discuss.pixls.us/u/afre"><b>Alan Kwan (afre)</b></a> (testing, filters).</li>
<li><a target="_blank" href="http://ekd.tuxfamily.org/"><b>Angelo Lama</b></a> (testing, EKD integration).</li>
<li><b>John Lakkas</b> (filters).</li>
</ul></td>
<td><ul>
<li><a target="_blank" href="http://polariscorp.free.fr"><b>Stephane de la Linuxerie</b></a> (design).</li>
<li><a target="_blank" href="http://www.mahvin.com/"><b>Mahvin</b></a> (mascot design, design).</li>
<li><a target="_blank" href="http://www.omtefotograferen.nl/"><b>Mark</b></a> (translation).</li>
<li><a target="_blank" href="https://plus.google.com/115686188945991205104/about"><b>Jovana Milutinovich</b></a> (translation).</li>
<li><b>MareroQ</b> (translation).</li>
<li><a target="_blank" href="http://www.ramonmiranda.com/"><b>Ram&oacute;n Miranda</b></a> (testing, translation).</li>
<li><a target="_blank" href="http://yukue.tumblr.com/"><b>Tou Omiya</b></a> (translation).</li>
<li><a target="_blank" href="http://photocomix-resources.deviantart.com/"><b>PhotoComiX</b></a> (testing, translation, filters).</li>
<li><a target="_blank" href="http://particularart.com/about/"><b>Garry Osgood</b></a> (documentation, filters).</li>
<li><a target="_blank" href="https://girinstud.io/en/"><b>Jehan Pag&egrave;s</b></a> (code, testing).</li>
<li><a target="_blank" href="https://github.com/solarsea"><b>Stanislav Paskalev</b></a> (filters).</li>
<li><a target="_blank" href="http://www.h-ps.demon.co.uk/"><b>James Prichard</b></a> (testing, filters).</li>
<li><a target="_blank" href="http://gilmoth.blogspot.com/"><b>Mauro Quercia</b></a> (translation).</li>
<li><b>Josef Radinger</b> (packaging).</li>
<li><a target="_blank" href="http://razgrizbox.wordpress.com"><b>Guilherme Razgriz</b></a> (translation).</li>
<li><a target="_blank" href="http://www.valdyas.org/fading"><b>Boudewijn Rempt</b></a> (Krita integration, code, testing).</li>
<li><a target="_blank" href="https://discuss.pixls.us/u/reptorian/summary"><b>Reptorian</b></a> (filters).</li>
<li><a target="_blank" href="http://www.davidrevoy.com/"><b>David Revoy</b></a> (mascot design, testing).</li>
<li><a target="_blank" href="http://karo03.bplaced.net/"><b>Karsten Rodenacker</b></a> (testing, packaging).</li>
<li><a target="_blank" href="http://www.digicrea.be/haldclut-set-style-a-la-nik-software/"><b>Marc Roovers</b></a> (clut data).</li>
<li><a target="_blank" href="http://www.flickr.com/photos/danisarda/"><b>Dani Sarda&agrave;</b></a> (translation).</li>
<li><a target="_blank" href="https://fr.linkedin.com/in/jdschroder"><b>Jonathan-David Schr&ouml;der</b></a> (bindings for Python, Blender nodes).</li>
<li><b>Yuri Shemanin</b> (debugging).</li>
<li><a target="_blank" href="http://www.flickr.com/photos/44231967@N00/"><b>Stepanekos</b></a> (translation).</li>
<li><a target="_blank" href="https://plus.google.com/u/0/117581776478455814502/posts"><b>Thorsten "otto" Stettin</b></a> (packaging).</li>
<li><a target="_blank" href="https://github.com/jtojnar"><b>Jan Tojnar</b></a> (code, testing).</li>
<li><a target="_blank" href="https://plus.google.com/u/0/b/117441237982283011318/+LukasTvrdy/posts"><b>Lukas Tvrdy</b></a> (Krita integration).</li>
<li><b>Ingo Weyrich</b> (optimizations).</li>
<li><b>Martin Wolff</b> (debugging).</li>
<li><a target="_blank" href="http://bzed.de/"><b>Bernd Zeimetz</b></a> (packaging).</li>
<li><a target="_blank" href="http://www.matthias-zepper.de/"><b>Matthias Zepper</b></a> (testing).</li>
</ul></td>
</tr></table>
</div><div class="section_end"></div>
<!-- ************* -->
<!-- Ressources -->
<!-- ************* -->
<div class="section_title"><p>Resources</p></div><div class="section_content">
<table class="gallery_table">
<tr>
<td><a href="img/gmic_flyer.pdf"><img alt="G&apos;MIC Flyer" height="256" src="img/gmic_flyer_s.jpg"/></a></td>
<td><a href="img/gmic_slides.pdf"><img alt="G&apos;MIC Slides" height="256" src="img/gmic_slides.jpg"/></a></td>
</tr>
<tr>
<td>If you appreciate G&apos;MIC, feel free to hang a flyer somewhere to make this project more visible!</td>
<td>To learn more about the G&apos;MIC project, you can also look at the presentation slides!</td>
</tr>
<tr>
<td><script src="http://www.openhub.net/p/17120/widgets/project_basic_stats.js"></script></td>
<td><script src="http://www.openhub.net/p/17120/widgets/project_cocomo.js"></script></td>
</tr>
</table>
<ul>
<li>If you want to cite <span class="gmd_gmic">G&apos;MIC</span> in a paper, here is a way to do it:<br/><br/>
<div class="gmd_blockquote">
[1] David Tschumperl&eacute;, S&eacute;bastien Fourey,
<br/><i>"G&apos;MIC (GREYC&apos;s Magic for Image Computing): A Full-Featured Open-Source Framework for Image Processing"</i>, <br/>
<a href="https://gmic.eu">https://gmic.eu</a>
</div></li>
</ul>
</div><div class="section_end"></div>
<!--#include file="footer.html" -->
</body>