This is called 'overshoot'.
See here for a good explanation https://twitter.com/CT_Bergstrom/status/1252077930286444545
HN user
This is called 'overshoot'.
See here for a good explanation https://twitter.com/CT_Bergstrom/status/1252077930286444545
Working on genomics stuff right now and gene ontology (GO) is ubiquitous.
My primary complaint with GO is that it doesn't map to any statistical analyses very well
This article read a little annoying. I don't know why this PhD holder failed to find the actual paper describing the algorithm: https://www.cv-foundation.org/openaccess/content_cvpr_2016/p...
The author is making it sound like the work is just p-hacking when it's /very clearly/ not.
This single paragraph in the Method section explains it best:
"Reconstructing an image using bispectrum measurements is an ill-posed problem, and as such there are an infinite number of possible images that explain the data [28]. The challenge is to find an explanation that respects our prior assumptions about the “visual” universe while still satisfying the observed data."
This is literally all of physics! You can say that Newtonian physics is 'just curve fitting' just the same.
I don't know enough about the philosophy of science to make a further argument here but clearly the author does not either.
This is an area that needs work, but basically there's the table of 'edge intensity' that gets multiplied by a constant baseChance variable for every pixel.
baseChance = 8 * samples / (width * height)
samples is the desired number of samples.
Again, this needs work. I'm pretty sure there's a way I can more accurately match the number of output samples to the desired number of samples.
Edit: And no, it can't produce a response if there's no edge (a value of zero). However, there's always some level of noise. This is true of the example you've shown - there's very light noise visible.
This doesn't seem to have any benefit unfortunately. It seems like the current approach already produces the before-after edge effect.
Wow, that works pretty well. I was mistaken in thinking that either the Dictionary class or the process of sampling would sort them.
Mind if I merge that? Or you could submit a pull request. Either would be great!
Also, do you know of any resources for learning about how to optimise for gzip compression? Google is just telling me about compression for websites.
Here's Lenna reconstructed after 30,000 samples. http://i.imgur.com/hlPonsO.png
The compressed data comes out to 303KB, which isn't that great. It's a pretty noisy image.
Not sure if that applies for my purposes, since I'm not actually using linear interpolation barycentric coordinates (I don't think that's possible). The barycentric coordinates supply the gradient within themselves.
I may have to read further, though. That's a lot of math.
I tried your struct-of-array idea, and that's produced an okay improvement ~1%.
Sorting them seems tough as the index of each value must match for each channel, so any sorting would have to occur beforehand. Except that is already sorted by x-y values, and my attempts otherwise have failed to produce results.
It's not very comparable to PNG, since they're designed for different types of imagery. I know currently Trigrad cannot handle text at all. In regards to your other comment, it's currently definitely worse than JPEG for vector imagery.
However, it handles gradients amazingly. A full colour gradient such as [0] can be made a tenth of the size since only ~500 samples are really needed.
Currently compressing the example image (the one of the flowers) with 100,000 samples takes 1.5 seconds + 1.5 seconds for AForge's edge detection.
I'm sure this could be increased by a huge amount if I had a not-terrible CPU or if I did some major refactors to use the GPU.