My bet is the output options that this cool java jar does can be done in G’MIC as well. Got the link from Günter Bachelier.
https://karczmarczuk.users.greyc.fr/TEACH/InfoGeo/Work/ComplexMapStill.jar
My bet is the output options that this cool java jar does can be done in G’MIC as well. Got the link from Günter Bachelier.
https://karczmarczuk.users.greyc.fr/TEACH/InfoGeo/Work/ComplexMapStill.jar
Just as a side note, the java app renders these type of outputs faster and better than mathmap. Pretty impressed.
I did post a parallel thread at GIMPChat with some of the results from this cool applet.
http://gimpchat.com/viewtopic.php?f=22&t=14868&start=0&sid=c82dedeec59aabcb7913ed2013961902
Have you compared the quality of CMs from different systems? I am very
interested in this. No idea if ComplexMapStill is using
antialiasing/supersampling. Some of my image experiments show pixel
blocks when zoomed in so I am skeptical but your examples are looking
good. It seems that CMs are not included in gmic at least I found
nothing in gmicol.greyc.fr but there is the Droste effect so gmic could
in principle do CMs.
On a not unrelated topic: Thanks for the link to to program Pointcare in your album
Poincaré | Flickr. It
is OS and C++ so I am wondering if it could be ported/reengineered in
gmic.
I would really like to see Poincare ability ported to GIMP (so I can actually have a GUI to create the result). Have to sort of eyeball the triangular selection to feed it into the Poincare program (do have a mask that I use though). Haven’t played with Poincare in a long time now though. G’MIC can do everything these stand-a-lone programs can. Just takes someone with programming talent to do so (and have none; just an end user).
Just takes someone with programming talent to do so
I have the serious intention to look in freelancer.com for someone to
clone/re-engineer a FilterForge filter [1] that is able to do regular
hyperbolic tilings [2]. As I see it, Pointcare is only a special case
were the prototile has triangular shape. This is planed after I find a
reliable solution for batch processing with conformal maps. At the
moment I prefer a Matlab solution [3] or building a command line version
of the Java applet.
[1] link to the filter is somewhere buried in the discussion
https://www.filterforge.com/forum/read.php?FID=10&TID=10269
[2] Uniform tilings in hyperbolic plane - Wikipedia
[3] Exploring a Conformal Mapping - MATLAB & Simulink - MathWorks Deutschland
Cool to see you post here, Günter. Didn’t know you could even do this in Filterforge (wish I would have invested in this cool program with it was still cheap; lol).
I’d be interested to have this in G’MIC by the way.
Writing a G’MIC filter is not that hard, and I believe the embedded math parser is powerful enough to allow implementing this I’m not an expert in such deformations, but if anyone wants to try, I can help for solving G’MIC-specific issues.
Here’s a site for some more inspiration. It’s been a while since I visited this site and I’m still in awe with the results posted there.
Also, for what it’s worth, I started the thread below (dated now; 5 years ago) that some here might be interested in.
Cool stuff, David. Now what is the formula for a Poincare’ result.
I’m a bit worried about the timings folks at GimpChat get (3 minutes for a 3000x3000 image).
Could someone try the filter on Linux. Even on my laptop, it takes like 8 seconds for a 3000x3000 color image, so I can’t understand why it should take 3x60 = 180 seconds on another machine, even on Windows ! There must be something wrong that should be fixed.
Anyone on Linux who could run the filter on a 3000x3000 color image and tell me how much time it took ?
Thanks!
That includes me; a very much smaller image took 3 minutes on my 3 year old PC with 12Gs of Ram and 8 core AMD. Not sure why it’s so slow. You aren’t obviously seeing the speed problem. Not sure what the issue is. Even the default z takes the same amount of time (3 minutes). Don’t think it’s a processing issue; some other issue is slowing it down. Pretty much have to disable preview too since it just hangs. Hopefully it’s something simple.
Are you on Windows?
Then an explanation could be the 4-way L1 cache of AMD in combination with memory allocation on Windows.
I also have an 8-core AMD and often ran into that problem wile optimizing RawTherapee.
If so, there are solutions to work around this problem.
I can explain it more detailed if needed.
Yes; running WIn10 64-bit. Would be interested in hearing those solutions, heckflosse.
Ok, I’ll make an example. Assume the following code:
// on windows (at least on windows 7) buffers a,b,c,d and e will have an address
// which has the same offset to 4096 which means they will use the same cache set
// AMD has only 4 lines per cache set
float *a = (float*)malloc(10000 * sizeof(float));
float *b = (float*)malloc(10000 * sizeof(float));
float *c = (float*)malloc(10000 * sizeof(float));
float *d = (float*)malloc(10000 * sizeof(float));
float *e = (float*)malloc(10000 * sizeof(float));
float *buffer = (float*)malloc(10032 * sizeof(float));
float *f = buffer + 32; // let start f at a different offset
// some code to fill a,b,c,d and e
// Calculate f
for(int i=0;i<10000;i++) {
f[i] = a[i] + b[i] + c[i] + d[i] + e[i];
}
// what happens now:
// a[0] will be read and the a[0] .. a[15] will go into line 0 of the corresponding set in the L1 cache
// b[0] will be read and the b[0] .. b[15] will go into line 1 of the corresponding set in the L1 cache
// c[0] will be read and the c[0] .. c[15] will go into line 2 of the corresponding set in the L1 cache
// d[0] will be read and the d[0] .. d[15] will go into line 3 of the corresponding set in the L1 cache
// e[0] will be read and the e[0] .. e[15] will go into line 0 of the corresponding set in the L1 cache
// because AMD has only 4 lines per cache set that will throw a out of L1 cache
// f[0] will be written
// a[1] will be read and throw b out of L1 cache
// b[1] will be read and throw c out of L1 cache and so on..........
// the solution is to do what I made for f (let it start at a different offset)
How do you edit the registry to optimize? lol
Way too over my head at the moment.
This is parallel to what I just posted at GIMPChat. Since I didn’t post here, this is what I did. I installed GIMP in my Ubuntu VM and then the text below will make sense.
OK; took me a bit to figure out Ubuntu. Man; first GIMP launches like near instantaneously. As for G’MIC (after I figured out the hidden directory structure; lol), is like lightening faster. Took around 5 seconds to run (preview fast too). Yup; there’s a problem with the Windows build. Not sure what the solution to it will be though.