I'm not a Gegl specialist but here's something to consider:
1. Your plugin works on the active layer - you might want to add making a copy of the layer or creating a new image.
2. Gegl plugins can operate in the minimum, maximum range and not only in the ui-minimum, ui-maximum range (but I don't know if this is always the case).
Example-1: Difference of Gaussians (
https://gegl.org/operations/gegl-differ ... sians.html), in menu: GEGL-Automated ➤ Gegl to Python: difference-of-gaussians...
Difference of Gaussians
Edge detection with control of edge thickness, based on the difference of two gaussian blurs
Radius 1
name: radius1 type: double default: 1.00 minimum: 0.00 maximum: 1000.00 ui-minimum: 0.00 ui-maximum: 10.00 ui-gamma: 1.50 ui-step-small: 0.01 ui-step-big: 1.00 ui-digits: 3
Radius 2
name: radius2 type: double default: 2.00 minimum: 0.00 maximum: 1000.00 ui-minimum: 0.00 ui-maximum: 20.00 ui-gamma: 1.50 ui-step-small: 0.01 ui-step-big: 1.00 ui-digits: 33. Where possible, replace PF_FLOAT with PF_SPINNER.
4. Adding a preview (but for single Gegl operations it doesn't make much sense except registration in PDB)
Example-2:Supernova (how to enable color selection, type parameters: %f, %d, %s), (
https://gegl.org/operations/gegl-supernova.html), in menu: GEGL-Automated ➤ Gegl to Python: Supernova...
I deliberately changed the registration and location in the menu so that it does not conflict with your version.