Release of G'MIC 3.1

Version 3.1.0 (pre-release #220316) still the same, though the Hough Sketch is only problematic on the default Color Model option (Color on White)
Thanks!

Sounds good, much appreciated!

So far, so good — but have not been going out of my way to robustly exercise the new features. Can this weekend: looks to be a quiet couple of days & might catch up on things gimicky.

2 Likes

@grosgood For your tutorial, you should recommend the new {} syntax. It actually make code so much easier as text editors do highlight matching brackets, and this allows you to make blocks and lessen mental effort on parsing individual code.

1 Like

Even after a filter update ?

Some time ago, @David_Tschumperle ventured into the topic How to write clean code; of which the use of braces would be a part, named images too — this, a basic topic, branching directly off the Tutorial Root Page. It should be done; advice on good coding is not uncommon here, but, given the nature of Discourse sites, such is spread all over to Hades and back, and it would be very nice, at the end of the day, to have it all in one place. That is the end goal; getting there is problematic. Been under time constraints of late, but with a new mayor in My Fair City and a new commissioner in My Fair City Agency, dust is starting to settle and I may get weekends back. In the short run, I’d probably first set to cleaning up some of the older tutorials; a lot of them need to be re-notated not to copy-paste into a shell, but as a module, That, plus bit-rot-cleanup. These sorts of maintenance chores fit better with what I anticipate will be the near-term time slices coming to me: thin-sliced, fragmentary, and at odd hours of the day.

1 Like

Yes, indeed… after gmic -up.

I’m a bit sorry to impose this on you, with the latest language changes. But now that I’m starting to use them more regularly, I have to say that it really adds comfort to writing new scripts. This is also why I would like to release G’MIC 3.1 soon!

Just the gmic_gimp_qt plugin
Using kubuntu 18.04 / gmic plugin 3.1.0 pre 220317 (static compiled). So far very good, Only the main body (not Testing)

Arrays & Tiles:
Tileable rotation
*** Error in ./fx_rotate_tileable/ *** Command ‘rotate_tileable’: Invalid image dimension (482,384,1,4).

Artistic: doodle no preview but works

Black and White: stencil
*** Error in ./fx_stencilbw/*if/ *** A ‘fi’ command is missing, before return point.

Colors:
Curves (interactive) A bit strange, works initially but if a second application is made without re-setting the filter
*** Error in ./fx_curves_interactive/*if/*local/ *** Command ‘input’: Invalid argument ‘(0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,)’.

Softlight
*** Error in ./ ***
[afre]>_<) softlight: Select image(s) with 1 or 3 channels (I or RGB).
Ah…alpha channel causing the error .

Map Projection: - Sinusoidal Map - I think mentioned elsewhere.

2 Likes

That is expected. This filter is working only for images with a “compatible” ratios.

Expected also.

This is a bug. Now fixed.

I don’t have this error. Could you describe the steps to proceed to the error ?

Yes, seems like this filter does not accept alpha channel. Maybe @afre will correct this.
(not specifically to the 3.1 changes though).

I don’t have this filter currently. What is it ?

Thanks so much for your feedback!

Rotate tilable What is a compatible ratio ? Ah square images

Interactive curves https://i.imgur.com/KjY6QlE.mp4

Map projection Apologies, it is an older filter in a .gmic file I forgot to disable.

It’s a filter released outside of gmic-community made by a guy in a cartographer forum. He only knows the basic of G’MIC, but not enough to make near pro codes from what I see. His code works back then, but could be improved. I have some improvements done, but it is time-consuming, and would rather have a team of coders to fix those codes.

From tutorial perspective, I don’t think I can leave new-and-improved constructs like foreach…done out in the cold for too long, and — of late — have been keen on giving flow control tutorials a boost, as they are far more pertinent to day-to-day work than, say structuretensors, which has a very specialized remit. There may be a place for ‘New Features’ tutorial pages — each pegged to a release number, illustrating use of new constructs. These will not accompany every release, but the significant ones such as the one at hand. I’m about 60% certain that I can actually do a repo push this Sunday on a backlog that has been building since mid-September: that would clear the decks for tutorial work on what 3.1 brings.

2 Likes

Ha ha, my hostility toward alpha showing. >_< If I recall correctly, I also had trouble blending layers of different sizes in GIMP, including those larger than the canvas. For alpha-lovers, there is always the stdlib blend.

Hmm, I am missing the boundary condition in the new implemented morphological routines?!
Do I have an old update file? It is from March, 18 13:46.

https://github.com/dtschump/gmic/commit/11590608892b6d4e9d5f806b249b08345434850e

ETA for G’MIC 3.1? I’d really like to know if my gui filters work since I made some code changes to make my code more readable with features of G’MIC 3.1 in mind.

Also, a idea, a native function to find common divisors for n-set of numbers. I made a case usage of that in the G’MIC exercise thread.

Math evaluator function gcd() could be your friend I suppose.

I’m still waiting for bug reports :slight_smile:
I’ve fixed one annoying bug two days ago, concerning the “Abort” signal passed to the G’MIC interpreter, that was causing frequent crashes when using the G’MIC-Qt plug-in.

You’re right, there are bugs.

Here something I caught:

C:\Windows\System32>gmic h rep_find_divisors_numbers

  rep_find_divisors_numbers:
      num_0....num_inf
[gmic] *** Error in ./h/help/*if/(...)/parse_cli_text_ascii/gmd2ascii/*repeat/*local/ *** Command 'eval': Function 'get()': Specified variable size 1024 is larger than 2^31.
[gmic] Command 'eval' has the following description:

  eval (+):
      expression
  eval (+):
      expression
C:\Windows\System32>

Code to test:

#@cli rep_find_divisors_numbers: num_0....num_inf
#@cli : Return the divisors found in all numbers at once.
#@cli : Author : Reptorian.
#@cli : $ rep_find_divisors_numbers 256 echo ${}
#@cli : $ rep_find_divisors_numbers 256,100 echo ${}
#@cli : $ rep_find_divisors_numbers 256,100,50 echo ${}

Also pushed to gmic-community.