Closed sunipkm closed 5 months ago
Thanks for your interest in image-rs
!
Changes of this scale need to be discussed before we can get to the stage of reviewing a specific PR.
We also strongly prefer breaking up changes as much as possible because it makes them faster to review and reduces the amount of back-and-forth interaction to get any individual change merged. Each of your bullet point summary items likely warrant separate discussion issue and (if we decided the feature was something that belonged in this crate) its own PR.
That’s fair, glad to know you are interested. I will break this up into three and submit tomorrow:
Before working on PRs could you create issues to discuss each of those? They all seem useful but I'm not yet sold that they are all things we want to add to this specific crate
Through our discussion, I see how metadata is challenging. Storing FITS images also appear to be outside the scope of the image
crate, because of the niche use case, and more importantly, the C dependency. However, I think serde is important, and doable, and we should discuss that.
I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.
Here is a summary of changes:
DynamicImage
object for transport over the network, with Zlib compression of the image container (minor).fitsio
feature flag is set (breaking).fitsio
feature is enabled, imposes the additionalWriteImage
trait bound on thePrimitive
trait. This trait bound (and thefitsio
feature) is optional to compileimage
crate onwasm
targets, sincefitsio
crate requires thecfitsio
library.Primitive
trait implementations forusize
,isize
andu64
.fitsio::images::WriteImage
is not implemented for these types, and these pixel types could be deemed unusable sinceimage
does not serialize these types natively, and any of the image encoders/decoders do not support these types.Gray16Image
, minor).