1. 11 Dec, 2018 2 commits
  2. 07 Dec, 2018 1 commit
  3. 04 Dec, 2018 2 commits
  4. 30 Nov, 2018 1 commit
  5. 29 Nov, 2018 1 commit
  6. 24 Nov, 2018 1 commit
  7. 20 Nov, 2018 1 commit
    • Jehan's avatar
      operations: make aux buffer of watershed-transform optional. · 5feeee4c
      Jehan authored
      No auxiliary buffer will simply mean that all pixels have the same
      priority; since the algorithm queues newly labelled pixels (by
      propagation) in FIFO, it is also equivalent to having an aux buffer with
      all labelled pixels having the same higher priority (i.e. lower value)
      and all flagged pixels having the same lower priority.
      
      This doesn't change the output for any existing use of this operation,
      while making basic usage simpler (and potentially a bit faster, even
      though tests did not really show extraordinary gain).
      5feeee4c
  8. 15 Nov, 2018 2 commits
  9. 12 Nov, 2018 3 commits
    • Ell's avatar
      operations: add module.c to CLEANFILES · 65a1bbad
      Ell authored
      Add the various generated module.c files to CLEANFILES, so that
      they get properly cleaned.  This is needed to pass distcheck since
      commit 8bf81796.
      65a1bbad
    • Jehan's avatar
      operations: make gegl:distance-transform multi-thread. · 8c79a82f
      Jehan authored
      This replaces my previous request !10. Now we can use the new
      gegl_parallel_*() API. Not using some generic API was the only thing
      which annoyed me in my previous implementation.
      
      Similarly to the gegl:warp parallelization, make this C++ so we can use
      lambda functions.
      8c79a82f
    • Ell's avatar
      warp: parallelize using gegl-parallel · 0c1d40ea
      Ell authored
      gegl:warp can't use auto-threading.  Use gegl-parallel to
      parallelize it manually.
      
      Convert the op to C++ in order to use lamdas, which simplify
      parallelizarion.  Move the op to a new common-cxx/ module, where we
      can add C++ operations, and which is only built when a suitable C++
      compiler is found.  We don't leave it in common/, since Automake
      seems to always use CXXLD to link libraries that have (potential)
      C++ sources, even if they're if-ed out after configuration.
      0c1d40ea
  10. 11 Nov, 2018 1 commit
    • Ell's avatar
      operations: make module.c dependent on Makefile · 8bf81796
      Ell authored
      Make the various module.c files dependent on the corresponding
      Makefile, so that they get regenerated whenever the corresponding
      Makefile.am changes, configure.ac changes, or GEGL is reconfigured.
      8bf81796
  11. 05 Nov, 2018 1 commit
  12. 01 Nov, 2018 1 commit
  13. 31 Oct, 2018 1 commit
  14. 30 Oct, 2018 1 commit
  15. 29 Oct, 2018 1 commit
  16. 28 Oct, 2018 1 commit
  17. 27 Oct, 2018 1 commit
    • Jehan's avatar
      operations: watershed-transform: do not queue labels with no... · 0f56f883
      Jehan authored
      ... unlabelled neighbours.
      Previous algorithm was queuing any labelled (i.e. unflagged) pixel to
      later unqueue it, check for its neighbour and do nothing when no
      neighbours were unlabelled (flagged). This was very inefficient
      especially as we were reading the buffer with gegl_buffer_get() when
      unqueuing (buffer iterators are not usable then since we unqueue in
      priority order).
      
      Before queuing a label, let's make sure it has at least one unlabelled
      neighbour, hence that it will result in actual transformation. On test
      FullHD image on my computer, previous code was running in 1+ second,
      while the optimized operation runs in about 0.1 second for the same
      image (and of course, the result is unchanged, as this doesn't change
      the actual logics).
      0f56f883
  18. 26 Oct, 2018 1 commit
    • Jehan's avatar
      operations: make gegl:watershed-transform input format-agnostic. · 26b261a0
      Jehan authored
      Until now, gegl:watershed-transform was processing the input buffer as
      "YA u32". You could let the operation convert your data but this may not
      be what you wanted, especially if you were working on labels without
      color meaning. In any case, since we are not actually processing the
      pixel data, forcing an input format is meaningless. Now any format is
      accepted.
      Moreover let's make the flag value (and the component where to find it)
      parametric instead of using absolutely the alpha component and use 0 as
      unlabelled flag. For instance, this would allow to use a single
      component buffer and simply make any label in it be the "unlabelled"
      flag.
      Note that the defaults are so that any previous use of this operation
      won't be broken (since we default to using the last component, hence
      alpha in "YA u32" with value 0). So we keep compatibility while allowing
      new usages.
      26b261a0
  19. 15 Oct, 2018 1 commit
  20. 11 Oct, 2018 1 commit
    • Jehan's avatar
      operations: improve gegl:watershed-transform description. · 1cf35de7
      Jehan authored
      It is completely unobvious how to use the operation without looking at
      the code (in particular the fact that it uses the alpha channel to
      detect what is labelled or not, and also the babl formats it will work
      on since you likely don't want your labels converted). Let's add a
      slightly more descriptive text.
      1cf35de7
  21. 09 Oct, 2018 1 commit
  22. 27 Sep, 2018 1 commit
  23. 21 Sep, 2018 2 commits
    • Ell's avatar
      long-shadow: *actually* disable fixed-rate fading style · b36b064c
      Ell authored
      Should have been part of last commit.
      b36b064c
    • Ell's avatar
      long-shadow: disable fixed-rate fading style · c6d03fc4
      Ell authored
      The fixed-rate fading shadow style's interaction with the midpoint
      parameter is problematic, having a discontinuity at midpoint=1.  It
      may also be problematic w.r.t. some future directions for the op.
      Let's disable it for now, especially since the fixed-length fading
      style is probably the more useful one.
      
      Note that the code for the fixed-rate style is all still there,
      it's simply made inaccessible.
      c6d03fc4
  24. 11 Sep, 2018 1 commit
    • Ell's avatar
      Issue #97 - Drop Shadow crashes GIMP if opacity is adjusted to 1.000 ... · dfdec206
      Ell authored
      ... with the GUI arrow buttons
      
      In gegl:opacity, use fuzzy comparisson for checking if the "value"
      property equals 1, and the op is a pass-through.
      
      This test was previously performed using exact comparison, in a
      context where "value" is a double, and then later asserted-on in a
      context where "value" is a float, which could lead to a different
      result, aborting the program.  This commit performs all such tests
      with "value" as a float, and removes the assertion.
      dfdec206
  25. 10 Sep, 2018 10 commits