[gegl] tests: add exposure and saturation composition tests from Debarshi Ray - issue #53



commit 47e52cb23d101c5870f848f55bdf865395e7156a
Author: John Marshall <jtm home gmail com>
Date:   Fri Jan 29 23:14:42 2021 +0000

    tests: add exposure and saturation composition
    tests from Debarshi Ray - issue #53

 tests/compositions/exposure.xml             |  93 ++++++++++++++++++++++++++++
 tests/compositions/meson.build              |   2 +
 tests/compositions/reference/exposure.png   | Bin 0 -> 729929 bytes
 tests/compositions/reference/saturation.png | Bin 0 -> 1161454 bytes
 tests/compositions/saturation.xml           |  89 ++++++++++++++++++++++++++
 5 files changed, 184 insertions(+)
---
diff --git a/tests/compositions/exposure.xml b/tests/compositions/exposure.xml
new file mode 100644
index 000000000..1191c7f77
--- /dev/null
+++ b/tests/compositions/exposure.xml
@@ -0,0 +1,93 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<gegl>
+  <node operation='gegl:over'>
+    <node operation='gegl:crop'>
+      <params>
+        <param name='x'>256.0</param>
+        <param name='y'>192.0</param>
+        <param name='width'>256.0</param>
+        <param name='height'>192.0</param>
+      </params>
+    </node>
+    <node operation='gegl:exposure'>
+      <params>
+        <param name='black-level'>0.03</param>
+        <param name='exposure'>-1.0</param>
+      </params>
+    </node>
+    <node operation='gegl:convert-format'>
+      <params>
+        <param name='format'>YA float</param>
+      </params>
+    </node>
+    <clone ref='clone0'/>
+  </node>
+  <node operation='gegl:over'>
+    <node operation='gegl:crop'>
+      <params>
+        <param name='x'>0.0</param>
+        <param name='y'>192.0</param>
+        <param name='width'>256.0</param>
+        <param name='height'>192.0</param>
+      </params>
+    </node>
+    <node operation='gegl:exposure'>
+      <params>
+        <param name='black-level'>0.03</param>
+        <param name='exposure'>-1.0</param>
+      </params>
+    </node>
+    <node operation='gegl:convert-format'>
+      <params>
+        <param name='format'>Y float</param>
+      </params>
+    </node>
+    <clone ref='clone0'/>
+  </node>
+  <node operation='gegl:over'>
+    <node operation='gegl:crop'>
+      <params>
+        <param name='x'>256.0</param>
+        <param name='y'>0.0</param>
+        <param name='width'>256.0</param>
+        <param name='height'>192.0</param>
+      </params>
+    </node>
+    <node operation='gegl:exposure'>
+      <params>
+        <param name='black-level'>0.03</param>
+        <param name='exposure'>-1.0</param>
+      </params>
+    </node>
+    <node operation='gegl:convert-format'>
+      <params>
+        <param name='format'>RGBA float</param>
+      </params>
+    </node>
+    <clone ref='clone0'/>
+  </node>
+  <node operation='gegl:crop'>
+    <params>
+      <param name='x'>0.0</param>
+      <param name='y'>0.0</param>
+      <param name='width'>256.0</param>
+      <param name='height'>192.0</param>
+    </params>
+  </node>
+  <node operation='gegl:exposure'>
+    <params>
+      <param name='black-level'>0.03</param>
+      <param name='exposure'>-1.0</param>
+    </params>
+  </node>
+  <node operation='gegl:convert-format'>
+    <params>
+      <param name='format'>RGB float</param>
+    </params>
+  </node>
+  <node operation='gegl:load' id='clone0'>
+      <params>
+        <param name='path'>data/car-stack.png</param>
+      </params>
+  </node>
+</gegl>
diff --git a/tests/compositions/meson.build b/tests/compositions/meson.build
index 7f60180d1..b5d0de486 100644
--- a/tests/compositions/meson.build
+++ b/tests/compositions/meson.build
@@ -17,6 +17,7 @@ composition_tests = [
   'convolve2',
   'dropshadow-json',
   'edge',
+  'exposure',
   'fattal02',
   'gamma',
   'gegl',
@@ -40,6 +41,7 @@ composition_tests = [
   'rgb-params',
   'rotate',
   'rotate-on-center',
+  'saturation',
   'scale-size-keepaspect',
   'simple-scale',
   'sinus',
diff --git a/tests/compositions/reference/exposure.png b/tests/compositions/reference/exposure.png
new file mode 100644
index 000000000..d9dec47f9
Binary files /dev/null and b/tests/compositions/reference/exposure.png differ
diff --git a/tests/compositions/reference/saturation.png b/tests/compositions/reference/saturation.png
new file mode 100644
index 000000000..079212097
Binary files /dev/null and b/tests/compositions/reference/saturation.png differ
diff --git a/tests/compositions/saturation.xml b/tests/compositions/saturation.xml
new file mode 100644
index 000000000..0f6961cf1
--- /dev/null
+++ b/tests/compositions/saturation.xml
@@ -0,0 +1,89 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<gegl>
+  <node operation='gegl:over'>
+    <node operation='gegl:crop'>
+      <params>
+        <param name='x'>256.0</param>
+        <param name='y'>192.0</param>
+        <param name='width'>256.0</param>
+        <param name='height'>192.0</param>
+      </params>
+    </node>
+    <node operation='gegl:saturation'>
+      <params>
+        <param name='scale'>1.5</param>
+      </params>
+    </node>
+    <node operation='gegl:convert-format'>
+      <params>
+        <param name='format'>CIE LCH(ab) alpha float</param>
+      </params>
+    </node>
+    <clone ref='clone0'/>
+  </node>
+  <node operation='gegl:over'>
+    <node operation='gegl:crop'>
+      <params>
+        <param name='x'>0.0</param>
+        <param name='y'>192.0</param>
+        <param name='width'>256.0</param>
+        <param name='height'>192.0</param>
+      </params>
+    </node>
+    <node operation='gegl:saturation'>
+      <params>
+        <param name='scale'>1.5</param>
+      </params>
+    </node>
+    <node operation='gegl:convert-format'>
+      <params>
+        <param name='format'>CIE LCH(ab) float</param>
+      </params>
+    </node>
+    <clone ref='clone0'/>
+  </node>
+  <node operation='gegl:over'>
+    <node operation='gegl:crop'>
+      <params>
+        <param name='x'>256.0</param>
+        <param name='y'>0.0</param>
+        <param name='width'>256.0</param>
+        <param name='height'>192.0</param>
+      </params>
+    </node>
+    <node operation='gegl:saturation'>
+      <params>
+        <param name='scale'>1.5</param>
+      </params>
+    </node>
+    <node operation='gegl:convert-format'>
+      <params>
+        <param name='format'>RGBA float</param>
+      </params>
+    </node>
+    <clone ref='clone0'/>
+  </node>
+  <node operation='gegl:crop'>
+    <params>
+      <param name='x'>0.0</param>
+      <param name='y'>0.0</param>
+      <param name='width'>256.0</param>
+      <param name='height'>192.0</param>
+    </params>
+  </node>
+  <node operation='gegl:saturation'>
+    <params>
+      <param name='scale'>1.5</param>
+    </params>
+  </node>
+  <node operation='gegl:convert-format'>
+    <params>
+      <param name='format'>RGB float</param>
+    </params>
+  </node>
+  <node operation='gegl:load' id='clone0'>
+      <params>
+        <param name='path'>data/car-stack.png</param>
+      </params>
+  </node>
+</gegl>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]