gap-decoder / gapdecoder

Google Arts And Culture Downloader. Python script to download high-resolution images from google arts & culture.
81 stars 12 forks source link

suggestion to specify megapixels instead of zoom #9

Open awtur opened 5 years ago

awtur commented 5 years ago

@lovasoa I really appreciate your responsiveness to my previous suggestions. The new tool is a huge improvement :) Thank you. I humbly make just one more suggestion:

The issue is that zoom levels do not refer to consistent pixel dimensions. For some images, zoom 5 can mean 6000 x 4000 pixels, while for others it can mean 12,000 x 8000. This is annoying because the user has in mind the dimensions they want, but the zoom is only an imperfect indicator. So my suggestion is to also allow users specify the dimensions, and you can keep the zoom option too if you think it's useful. In terms of user input, I think it makes the most sense to specify megapixels in integers like 24 (i.e., 24 = 6000 x 4000), rather than the pixel length or width, since artwork can be long/narrow. The fallback option, if the user specifies a size that is NA, I hope, can be kept.

This size specification is implemented in Boquete's tool but I like gapdecoder better :) https://github.com/Boquete/google-arts-crawler

lovasoa commented 5 years ago

Hello @autur ! I've been doing some work on dezoomify-rs lately, and you might find this new tool helpful.

For instance, you can run:

dezoomify-rs -w 10000 -h 10000 "https://artsandculture.google.com/asset/light-in-the-dark/ZQFouDGMVmsI2w" my_image.png

And it will download the largest zoom level that is under 10000 x 10000.

kolt54321 commented 5 years ago

Hello @autur ! I've been doing some work on dezoomify-rs lately, and you might find this new tool helpful.

  • It can be downloaded as a single executable file (no need to install python or anything else)
  • It supports not only google arts and culture, but also other zoomable image formats
  • It has an option to automatically select a zoom level based on a max width and height.

For instance, you can run:

dezoomify-rs -w 10000 -h 10000 "https://artsandculture.google.com/asset/light-in-the-dark/ZQFouDGMVmsI2w" my_image.png

And it will download the largest zoom level that is under 10000 x 10000.

It's fast! But where does it save to?

Edit: I noticed it doesn't have much in the way of error handling I think. This link (https://artsandculture.google.com/asset/wildflower-painting-of-red-grevillea/wwEzEHEBAqxv4w) didn't play well with either tool on my PC.

lovasoa commented 5 years ago

@kolt54321 Thank you for the test case. I will look into the issue.

lovasoa commented 5 years ago

It's fixed

kolt54321 commented 5 years ago

It's fixed

Thanks!

lovasoa commented 5 years ago

I fixed the problem on dezoomify as well: https://ophir.alwaysdata.net/dezoomify/dezoomify.html#https://artsandculture.google.com/asset/wildflower-painting-of-red-grevillea/wwEzEHEBAqxv4w

awtur commented 5 years ago

Hello @autur ! I've been doing some work on dezoomify-rs lately, and you might find this new tool helpful.

  • It can be downloaded as a single executable file (no need to install python or anything else)
  • It supports not only google arts and culture, but also other zoomable image formats
  • It has an option to automatically select a zoom level based on a max width and height.

For instance, you can run:

dezoomify-rs -w 10000 -h 10000 "https://artsandculture.google.com/asset/light-in-the-dark/ZQFouDGMVmsI2w" my_image.png

And it will download the largest zoom level that is under 10000 x 10000.

@lovasoa I finally got a chance to try out the new dezoomify. I tried it on 62 google arts links that gapdecoder had previously failed to process and it only failed on 3 of them. That's an excellent success rate! I'm going to keep a record of all the failed links going forward and can provide them in the future in case they will be useful in improving the success rate. Thanks for all your work.

lovasoa commented 5 years ago

Yes, please do provide the links! Open an issue on each project, and give the non-working links for the project