-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZuriHac 2020 - resize #39
Comments
@kahlil29 The plan is to rewrite the whole library using massiv library #30, I started already a while back, which is in https://github.com/lehins/hip/tree/massiv, but had to stop for a while because I didn't have all of the prerequisites I needed. Resizing is already implemented, but it is far from perfect, but besides the need for it to be rewritten with hip/src/Graphics/Image/Processing/Geometric.hs Lines 369 to 386 in 2bbdda7
Your expertise on this, having written it in other languages, will be extremely valuable. Let's talk on discourse about it. If you can't fin me there I will always respond on https://gitter.im/haskell-massiv/Lobby |
@kahlil29 Are you still interested in working on this? Ping me on Discord#hip if you are. Even if you are not ping me anyways I'll be happy to pick your brain about your past experience implementing resize. |
Hey @lehins I'm still interested in contributing in some way to |
No worries, that knowledge will be useful as well. For example here are some questions I have:
|
This may be a Haskell issue rather a library or implementation issue but the performance was not very fast, compared to Rust (image crate), although Rust is known to be faster, in general. Here's a performance comparison we did yesterday (as we have just finished writing the Rust and Python versions of these, but do not take this graph very seriously as we may have fine tuned the Python programs a bit more once we realized it was way faster and we would end up going with it)
Also, we could have a quick table listing the image formats that are currently supported.
I hope this is somewhat helpful and apologies if there's too much focus on just resizing from me, I didn't do much more in my code, but I would be open to reading the docs/going through the repos of the libraries linked above if we want a better idea of things that |
@kahlil29 This is great and definitely very helpful. Focus on resize is exactly what this ticket is about! ;) I benchmarked yesterday current implementation that is linked in this #39 (comment) and it is already 3 times faster than JuciyPixels just because massiv provides automatic parallelization. I would be very greatful if you could provide some gists that do resizing in other languages, this would help me optimize the current implementation in HIP. |
That's amazing to hear (the 3x faster bit) and happy to be of some help 😄 |
That's the bit I am most interested in, because it will let me benchmark against those languages. |
Hey,
I came across this listed on the ZuriHac website and I wanted to know if there are any specific issues that you have in mind for the hackathon?
I don't have much experience with Image Processing (libraries) but recently I had to write programs (at work) for image resizing in Rust, Go, Python and Haskell and found Haskell seems lacking in this area (in terms of a feature complete Image Processing Library).
I would like to try and help in some way to do something about that situation.
The text was updated successfully, but these errors were encountered: