Hi @jsheedy,
We don’t have a rescaling transformation like this built in right now, but this is an interesting point that also comes up in areas like medical imaging.
We can push this down to the storage level as a tile filter, similar to the existing bit-width filter (which does do a rescale, but it only supports int types and is automatic except for the window size). This would be specified as part of the array schema, and would look something like:
rescale_filter = tiledb.RescaleFilter(target=np.Int16, scale_factor=...)
...
tiledb.Attr(..., filters=FilterList([rescale_filter]))
Would that work for your data? I mentioned this to @stavros, and I think he wants to follow up and make sure we can implement this in a way that is flexible enough for your needs as well as to support similar use-cases. Would you mind to shoot us an email at hello@tiledb.com
?