Git Product home page Git Product logo

Comments (3)

saucecontrol avatar saucecontrol commented on May 30, 2024 1

It will depend how much of the metadata you want to preserve. The MetadataNames property allows you to explicitly select items to be copied to the output by using the Windows Metadata Policy names. A common use case for that would be to ensure that copyright (the System.Copyright policy) is maintained. The Windows Metadata Policies are good for explicit copying because they take care of differences in metadata location between different container formats.

There is currently no provision for blindly copying all metadata from the source to destination. Part of that is due to the fact the source file might have hundreds of KBs of garbage in it (Photoshop edit history for example), but there is also the issue of metadata that may become invalid when an image is resized, such as focal point, subject, or faces tags.

I'd be interested in gathering more requirements for metadata handling if you have some specific scenarios in mind. The current handling is minimal, and the way writes are done using the Windows policies is not ideal. I'd like to improve that going forward, but it currently meets my own needs, and I'm not sure what else people would be looking for.

from photosauce.

wahyuen avatar wahyuen commented on May 30, 2024

Thanks for the prompt reply!

For our use case, we are currently looking to process mass amounts of imagery, and hoping to run this in parallel using serverless functions. As part of our image processing, we have found that call outs to numerous number of 3rd party services often have size (both file size and image dimension) limits. As such, we were looking into libraries that allowed us to scale down (resize) images to the appropriate dimensions, so that we could achieve a greater success rate of processing.

Having looked at some other libraries, we found yours to be one of the best in terms of speed and memory (we quite often ran into OutOfMemoryExceptions using different libraries at our scale), but noticed that once the images were resized, we lost the associated EXIF data which we were using for other processing.

Perhaps it was my own naivety in this space thinking that I could blindly copy EXIF data across, you make a very valid point that some of it wouldn't actually make sense on the resized image! Again, many thanks for your response and your efforts into this library 👍

from photosauce.

saucecontrol avatar saucecontrol commented on May 30, 2024

No problem, and thanks for the kind words!

I'm not sure MagicScaler will work with serverless functions because of its dependence on WIC. The dependencies are present on Azure's Windows App Servers, but I haven't tried any other non-VM cloud hosting options for it. The next big task on my list is support for alternate codecs so I can get it working cross-platform. If you end up staying with MagicScaler, do let me know if you have any concrete ideas around metadata handling options. I'd like to get an API design sketched out in case someone has time to work on it.

from photosauce.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.