Two simple plugins :
- Fourier : do direct and reverse fourier transform on your image
- YUV : convert RGB images to YUV
Select the plugin you want in the tabs below.
A simple plug-in to do fourier transform on you image. The major advantage of this plugin is to be able to work with the transformed image inside GIMP. You can so draw or apply filters in fourier space, and get the modified image with an inverse FFT.
Download / Installation
Plugin source code (Linux and Win32) (v0.4.3, under GPL license)
Binaries for Windows (v0.4.3) 32bits or 64bits . (aljacom version for GIMP 2.10)
Your Linux distribution may have packaged it : for Fedora
If you feel nostalgic, former versions : Source v0.3.3 ; Win32 Binaries v0.3.0 + FFTW3 DLL.
GIMP Registry Page: http://registry.gimp.org/node/19596.
For use under Linux, follow the usual steps :
- Install the required libraries :
sudo apt-get install libfftw3-dev libgimp2.0-dev
tar xvzf fourier-0.4.*.tar.gz
cd fourier-0.4.*
make
make install
For use under Windows, get the binary plugin (and the FFTW3 DLL with versions before 3.2), and copy them to the plugins directory (.gimp-2.2plug-ins or C:Program FilesGIMP-2.2libgimp2.0plug-ins). To know how to compile under win32, please go to the GIMP DevPack page.
Use
You will find two more items in the menu :
- Filters/Generic/Foward FFT
- Filters/Generic/Inverse FFT
More documentation
There is not much documentation for now, but use should be very straight forward. As this plugin was developped for educationnal purpose, documentation about principles used is available in the french report. Note this report is not up to date : the “magic pixel” was replaced by a GIMP parasite, and column order has changed.
Special Thanks to Mogens Kjaer and Alex Fernández for their patches.
A simple plug-in to convert RGB images to YUV in GIMP. This means that after having applied the filter, you will get luminance (Y) in the red channel (R), and chrominances in green and blue channel. By using the decompose plugin, or the channel dialog, you will be able to work in YUV space, and be back in RGB space by the reverse plugin. In fact, combined to the fourier plugin, you should be able to demonstratete a simple JPEG compression on the whole image.
Download / Installation
Plugin source code (Linux and Win32) (v0.1.3)
Binaries for Windows (v0.1.1).
For use under Linux, follow the usual steps :
- Install the required libraries :
sudo apt-get install libgimp2.0-dev
tar xvzf yuv-0.1.3.tar.gz
cd yuv-0.1.3
make
make install
For use under Windows, get the binary plugin and copy it to the plugins directory (.gimp-2.2plug-ins or C:Program FilesGIMP-2.2libgimp2.0plug-ins). To know how to compile under win32, please go to the GIMP DevPack page.
Use
You will find two more items in the menu :
- Image / Mode / RGB -> YUV
- Image / Mode / YUV -> RGB
More documentation
There is not much documentation for now, but use should be very straight forward. As this plugin was developped for educationnal purpose, documentation about principles used is available in the french report.
For older versions, you can go to the old page.
Pingback: Not able to use gimp-fourier plugin on ubuntu 18.04.4 - Cloud News
Hello Marisa, I checked today and it is still compiling and working on Ubuntu 18.04. Maybe you miss some required libraries (see README file). I will add the list to this post to clarify.
Hello Rémi! (Also Hello to Via and Hoche)
Thanks for sharing this plugin. Code does not compile on Ubuntu 19.10. Besides char* related C++ deprecations, it seems Gimp API has extensive breaking changes, notably from GimpDrawable to GeglBuffer. I don’t know those.
I tried minor adjustment of Makefile just in case, of course does not fix:
diff -ur fourier-0.3.3/Makefile fourier-0.3.3-changed/Makefile
— fourier-0.3.3/Makefile 2009-02-08 15:44:52.000000000 +0100
+++ fourier-0.3.3-changed/Makefile 2020-02-19 00:01:08.711731671 +0100
@@ -1,10 +1,9 @@
# Use gimptool-2.0 to sett these variables
GIMPTOOL=gimptool-2.0
-PLUGIN_BUILD=$(GIMPTOOL) –build
PLUGIN_INSTALL=$(GIMPTOOL) –install-bin
GCC=g++
-LIBS=$(shell pkg-config fftw3 gimp-2.0 –libs)
-CFLAGS=-O2 $(shell pkg-config fftw3 gimp-2.0 –cflags)
+LIBS=$(shell pkg-config fftw3 –libs ; $(GIMPTOOL) –libs)
+CFLAGS=-O2 $(shell pkg-config fftw3 –cflags ; $(GIMPTOOL) –cflags )
VERSION=0.3.3
DIR=fourier-$(VERSION)
Compilation error message below.
Thank you for your attention.
LC_ALL=C make -k
g++ -O2 -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gegl-0.4 -I/usr/include/json-glib-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/babl-0.1 -I/usr/include/gimp-2.0 -lfftw3 -lgimp-2.0 -lgimpmath-2.0 -lgimpconfig-2.0 -lgimpcolor-2.0 -lgimpbase-2.0 -lgdk_pixbuf-2.0 -lcairo -lgegl-0.4 -lgegl-npd-0.4 -lm -Wl,–export-dynamic -pthread -lgmodule-2.0 -ljson-glib-1.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lbabl-0.1 -o fourier fourier.c
fourier.c: In function ‘void query()’:
fourier.c:169:23: warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka ‘char*’} [-Wwrite-strings]
169 | { GIMP_PDB_INT32, “run_mode”, “Interactive, non-interactive” },
| ^~~~~~~~~~
fourier.c:169:35: warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka ‘char*’} [-Wwrite-strings]
169 | { GIMP_PDB_INT32, “run_mode”, “Interactive, non-interactive” },
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fourier.c:170:23: warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka ‘char*’} [-Wwrite-strings]
170 | { GIMP_PDB_IMAGE, “image”, “Input image (unused)” },
| ^~~~~~~
fourier.c:170:32: warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka ‘char*’} [-Wwrite-strings]
170 | { GIMP_PDB_IMAGE, “image”, “Input image (unused)” },
| ^~~~~~~~~~~~~~~~~~~~~~
fourier.c:171:26: warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka ‘char*’} [-Wwrite-strings]
171 | { GIMP_PDB_DRAWABLE, “drawable”, “Input drawable” }
| ^~~~~~~~~~
fourier.c:171:38: warning: ISO C++ forbids converting a string constant to ‘gchar*’ {aka ‘char*’} [-Wwrite-strings]
171 | { GIMP_PDB_DRAWABLE, “drawable”, “Input drawable” }
| ^~~~~~~~~~~~~~~~
fourier.c: In function ‘void run(const gchar*, gint, const GimpParam*, gint*, GimpParam**)’:
fourier.c:245:56: warning: ‘GimpDrawable* gimp_drawable_get(gint32)’ is deprecated: Use ‘gimp_drawable_get_buffer’ instead [-Wdeprecated-declarations]
245 | drawable = gimp_drawable_get(param[2].data.d_drawable);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
| ^~~~~~~~~~~~~~~~~
fourier.c:245:56: warning: ‘GimpDrawable* gimp_drawable_get(gint32)’ is deprecated: Use ‘gimp_drawable_get_buffer’ instead [-Wdeprecated-declarations]
245 | drawable = gimp_drawable_get(param[2].data.d_drawable);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
| ^~~~~~~~~~~~~~~~~
fourier.c:264:89: warning: ‘void gimp_tile_cache_ntiles(gulong)’ is deprecated [-Wdeprecated-declarations]
264 | gimp_tile_cache_ntiles((drawable->width + gimp_tile_width() – 1) / gimp_tile_width());
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:63,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimptile.h:60:9: note: declared here
60 | void gimp_tile_cache_ntiles (gulong ntiles);
| ^~~~~~~~~~~~~~~~~~~~~~
fourier.c:264:89: warning: ‘void gimp_tile_cache_ntiles(gulong)’ is deprecated [-Wdeprecated-declarations]
264 | gimp_tile_cache_ntiles((drawable->width + gimp_tile_width() – 1) / gimp_tile_width());
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:63,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimptile.h:60:9: note: declared here
60 | void gimp_tile_cache_ntiles (gulong ntiles);
| ^~~~~~~~~~~~~~~~~~~~~~
fourier.c:269:79: warning: ‘void gimp_pixel_rgn_init(GimpPixelRgn*, GimpDrawable*, gint, gint, gint, gint, gint, gint)’ is deprecated: Use ‘gimp_drawable_get_buffer’ instead [-Wdeprecated-declarations]
269 | gimp_pixel_rgn_init (®ion, drawable, sel_x1, sel_y1, w, h, FALSE, FALSE);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:48:11: note: declared here
48 | void gimp_pixel_rgn_init (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~
fourier.c:269:79: warning: ‘void gimp_pixel_rgn_init(GimpPixelRgn*, GimpDrawable*, gint, gint, gint, gint, gint, gint)’ is deprecated: Use ‘gimp_drawable_get_buffer’ instead [-Wdeprecated-declarations]
269 | gimp_pixel_rgn_init (®ion, drawable, sel_x1, sel_y1, w, h, FALSE, FALSE);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:48:11: note: declared here
48 | void gimp_pixel_rgn_init (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~
fourier.c:271:70: warning: ‘void gimp_pixel_rgn_get_rect(GimpPixelRgn*, guchar*, gint, gint, gint, gint)’ is deprecated: Use ‘gegl_buffer_get’ instead [-Wdeprecated-declarations]
271 | gimp_pixel_rgn_get_rect(®ion, img_pixels, sel_x1, sel_y1, w, h);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:80:11: note: declared here
80 | void gimp_pixel_rgn_get_rect (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~~~~~
fourier.c:271:70: warning: ‘void gimp_pixel_rgn_get_rect(GimpPixelRgn*, guchar*, gint, gint, gint, gint)’ is deprecated: Use ‘gegl_buffer_get’ instead [-Wdeprecated-declarations]
271 | gimp_pixel_rgn_get_rect(®ion, img_pixels, sel_x1, sel_y1, w, h);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:80:11: note: declared here
80 | void gimp_pixel_rgn_get_rect (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~~~~~
fourier.c:273:77: warning: ‘void gimp_pixel_rgn_init(GimpPixelRgn*, GimpDrawable*, gint, gint, gint, gint, gint, gint)’ is deprecated: Use ‘gimp_drawable_get_buffer’ instead [-Wdeprecated-declarations]
273 | gimp_pixel_rgn_init (®ion, drawable, sel_x1, sel_y1, w, h, TRUE, TRUE);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:48:11: note: declared here
48 | void gimp_pixel_rgn_init (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~
fourier.c:273:77: warning: ‘void gimp_pixel_rgn_init(GimpPixelRgn*, GimpDrawable*, gint, gint, gint, gint, gint, gint)’ is deprecated: Use ‘gimp_drawable_get_buffer’ instead [-Wdeprecated-declarations]
273 | gimp_pixel_rgn_init (®ion, drawable, sel_x1, sel_y1, w, h, TRUE, TRUE);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:48:11: note: declared here
48 | void gimp_pixel_rgn_init (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~
fourier.c:385:61: warning: ‘void gimp_pixel_rgn_set_rect(GimpPixelRgn*, const guchar*, gint, gint, gint, gint)’ is deprecated: Use ‘gegl_buffer_set’ instead [-Wdeprecated-declarations]
385 | (sel_x2-sel_x1), (sel_y2-sel_y1));
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:104:11: note: declared here
104 | void gimp_pixel_rgn_set_rect (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~~~~~
fourier.c:385:61: warning: ‘void gimp_pixel_rgn_set_rect(GimpPixelRgn*, const guchar*, gint, gint, gint, gint)’ is deprecated: Use ‘gegl_buffer_set’ instead [-Wdeprecated-declarations]
385 | (sel_x2-sel_x1), (sel_y2-sel_y1));
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimppixelrgn.h:104:11: note: declared here
104 | void gimp_pixel_rgn_set_rect (GimpPixelRgn *pr,
| ^~~~~~~~~~~~~~~~~~~~~~~
fourier.c:388:33: warning: ‘void gimp_drawable_flush(GimpDrawable*)’ is deprecated: Use ‘gegl_buffer_flush’ instead [-Wdeprecated-declarations]
388 | gimp_drawable_flush(drawable);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimpdrawable.h:55:16: note: declared here
55 | void gimp_drawable_flush (GimpDrawable *drawable);
| ^~~~~~~~~~~~~~~~~~~
fourier.c:388:33: warning: ‘void gimp_drawable_flush(GimpDrawable*)’ is deprecated: Use ‘gegl_buffer_flush’ instead [-Wdeprecated-declarations]
388 | gimp_drawable_flush(drawable);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimpdrawable.h:55:16: note: declared here
55 | void gimp_drawable_flush (GimpDrawable *drawable);
| ^~~~~~~~~~~~~~~~~~~
fourier.c:396:32: warning: ‘void gimp_drawable_detach(GimpDrawable*)’ is deprecated [-Wdeprecated-declarations]
396 | gimp_drawable_detach(drawable);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
53 | void gimp_drawable_detach (GimpDrawable *drawable);
| ^~~~~~~~~~~~~~~~~~~~
fourier.c:396:32: warning: ‘void gimp_drawable_detach(GimpDrawable*)’ is deprecated [-Wdeprecated-declarations]
396 | gimp_drawable_detach(drawable);
| ^
In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
from fourier.c:45:
/usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
53 | void gimp_drawable_detach (GimpDrawable *drawable);
| ^~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cczmlQvr.o: in function
query()':
gimp_install_procedure’fourier.c:(.text+0x51): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x68): undefined reference to
gimp_plugin_menu_register'
gimp_install_procedure’/usr/bin/ld: fourier.c:(.text+0xa9): undefined reference to
/usr/bin/ld: /tmp/cczmlQvr.o: in function
run(char const*, int, _GimpParam const*, int*, _GimpParam**)':
gimp_drawable_get’fourier.c:(.text+0x14c): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x15e): undefined reference to
gimp_drawable_width'
gimp_drawable_height’/usr/bin/ld: fourier.c:(.text+0x165): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x16c): undefined reference to
gimp_drawable_bpp'
gimp_drawable_has_alpha’/usr/bin/ld: fourier.c:(.text+0x173): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x19a): undefined reference to
gimp_drawable_mask_bounds'
gimp_drawable_detach’/usr/bin/ld: fourier.c:(.text+0x1c9): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x1f7): undefined reference to
gimp_drawable_get'
gimp_drawable_width’/usr/bin/ld: fourier.c:(.text+0x209): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x211): undefined reference to
gimp_drawable_height'
gimp_drawable_bpp’/usr/bin/ld: fourier.c:(.text+0x219): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x228): undefined reference to
gimp_drawable_has_alpha'
gimp_drawable_mask_bounds’/usr/bin/ld: fourier.c:(.text+0x250): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x263): undefined reference to
gimp_tile_width'
gimp_tile_cache_ntiles’/usr/bin/ld: fourier.c:(.text+0x299): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x2cc): undefined reference to
gimp_progress_init'
gimp_pixel_rgn_init’/usr/bin/ld: fourier.c:(.text+0x2f7): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x316): undefined reference to
g_malloc'
gimp_pixel_rgn_get_rect’/usr/bin/ld: fourier.c:(.text+0x33a): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x360): undefined reference to
gimp_pixel_rgn_init'
g_malloc_n’/usr/bin/ld: fourier.c:(.text+0x388): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x3b6): undefined reference to
fftw_plan_dft_c2r_2d'
gimp_progress_update’/usr/bin/ld: fourier.c:(.text+0x553): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x560): undefined reference to
fftw_execute'
gimp_progress_update’/usr/bin/ld: fourier.c:(.text+0x576): undefined reference to
/usr/bin/ld: fourier.c:(.text+0x790): undefined reference to
fftw_plan_dft_r2c_2d'
gimp_progress_update’/usr/bin/ld: fourier.c:(.text+0xad5): undefined reference to
/usr/bin/ld: fourier.c:(.text+0xae2): undefined reference to
fftw_execute'
gimp_progress_update’/usr/bin/ld: fourier.c:(.text+0xaf8): undefined reference to
/usr/bin/ld: fourier.c:(.text+0xc3c): undefined reference to
gimp_progress_update'
fftw_destroy_plan’/usr/bin/ld: fourier.c:(.text+0xc71): undefined reference to
/usr/bin/ld: fourier.c:(.text+0xc7b): undefined reference to
g_free'
gimp_pixel_rgn_set_rect’/usr/bin/ld: fourier.c:(.text+0xcb4): undefined reference to
/usr/bin/ld: fourier.c:(.text+0xcbc): undefined reference to
g_free'
gimp_drawable_flush’/usr/bin/ld: fourier.c:(.text+0xccc): undefined reference to
/usr/bin/ld: fourier.c:(.text+0xcd8): undefined reference to
gimp_drawable_merge_shadow'
gimp_drawable_update’/usr/bin/ld: fourier.c:(.text+0xd01): undefined reference to
/usr/bin/ld: fourier.c:(.text+0xd06): undefined reference to
gimp_displays_flush'
query()’:/usr/bin/ld: /tmp/cczmlQvr.o: in function
fourier.c:(.text+0xc2): undefined reference to
gimp_plugin_menu_register'
main’:/usr/bin/ld: /tmp/cczmlQvr.o: in function
fourier.c:(.text.startup+0x11): undefined reference to `gimp_main’
collect2: error: ld returned 1 exit status
make: *** [Makefile:25: fourier] Error 1
make: Target ‘all’ not remade because of errors.
Hello Stéphane, (and hello Hoche!)
I have checked today with a fresh Ubuntu 19.10 and it is working OK for me with Gimp 2.10 either with the gimp package or with the gimp snap you get through the ubuntu software center (please note if you are using the latter, make install won’t install in the snap, and you must manually copy the plugin to /home//snap/gimp/245/.config/GIMP/2.10)
Are you using another Gimp version? Are you using the 0.4.3 source file? Have the command “sudo apt-get install libfftw3-dev libgimp2.0-dev” completed without errors? The errors in the log looks like the libgimp is not found.
Best regards
Rémi
Hello.
I am running Windows 10 64bit with GIMP 2.10.8. I extracted the folder in my plugin directory, but GIMP does not show the plugin under Filters->Generic. I tried to open the folder and double clicked on the plugin .exe: I don’t know if something should happen, but an error message appears saying that many .dll libraries are missing.
Hope to solve this problem.
Regards,
Edoardo.
Hello,
Did you use aljacom version for GIMP 2.10 ? (https://samjcreations.blogspot.com/2018/05/filtres-anciens-pour-gimp-210-64-bits.html)
It is not abnormal that many .dll missing are reported when you double click on the plugin, as it depends on many GIMP dll that may not be in your path, but that are correctly loaded when the plugin is loaded by GIMP.
Best regards
Rémi
Hello,
thanks for you reply.
I tried to use both, but none is working. I now have tried in Ubuntu and the installation goes well, but still GIMP doesn’t show the Filter. I noticed that the directory of the filter is called .gimp-2.8 and I tried to rename it to 2.10 (as that’s the version I am using). Nothing. I tried to copy the directory in every path that’s shown in Preferences->Folders->Plug-ins but it doesn’t work. I will now try to install a previous version of gimp.
I am really looking forward to using this filter,
Regards.
Edoardo
Hello,
In Windows, I just tested the aljacom 2.10 version and it works well: please make sure you are using the 64bits version of Gimp 2.10, and be sure to copy only the fourier folder (under the 64bits folder, and not the entire contents of the zip file, nor the top-level fourier-0.4.3_64bits_Win folder)
In Ubuntu, I tested a few weeks ago with ubuntu 19.10 and it worked well with the GIMP version provided by the distribution (2.8) ; if you are using 2.10, I guess it comes outside the main distribution. In that case, the binaries in the ppa will not work. It should work OK with compiling from source, but you have to make sure to install the dev packages of the version 2.10 (and not the ones provided in ubuntu for 2.8, I guess it is why you see a folder .gimp-2.8)
Hope this helps,
Remi
Now it’s working! In Windows, I had copied the whole folder (as you guessed), and now, copying only the ‘fourier’ folder, it works. In Ubuntu… I’ll see. At least I’ll use the plugin in Windows.
Many thanks, you’ve been really kind!
Regards,
Edoardo.