[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openexr-devel] List of all availabe attributes in an exr file
From: |
Larry Gritz |
Subject: |
Re: [Openexr-devel] List of all availabe attributes in an exr file |
Date: |
Tue, 19 Nov 2013 10:17:30 -0800 |
XMP might be nice for the sake of compatibility with other formats that insert
an XMP blob into their files, but I don't think you should count on a
performance gain.
The one case where you'd expect it to be faster is if you are just "copying"
from one file to another and can do it as one string rather than walking the
list. But if you need the actual content of the metadata, I'd expect it to take
just as long, or longer, to parse a bunch of XML to get the metadata than to
pull them out of the original header as separate attributes.
-- lg
On Nov 19, 2013, at 10:02 AM, Lars Borg <address@hidden> wrote:
> When will XMP be available in EXR?
> One top-level attribute for lots of attributes.
> Less speed penalty.
>
> Lars
>
> -----Original Message-----
> From: Piotr Stanczyk <address@hidden>
> Date: Tuesday, November 19, 2013 7:34 AM
> To: Larry Gritz <address@hidden>, Blecher Wolf <address@hidden>
> Cc: "address@hidden" <address@hidden>
> Subject: Re: [Openexr-devel] List of all availabe attributes in an exr file
>
>> +1
>>
>> Also, take a look at the code for the standalone executable exrheader, it
>> does something very much what you are after.
>>
>> - Piotr
>>
>> ________________________________________
>> From: address@hidden
>> address@hidden on behalf of Larry
>> Gritz address@hidden
>> Sent: 19 November 2013 09:28
>> To: Blecher Wolf
>> Cc: address@hidden
>> Subject: Re: [Openexr-devel] List of all availabe attributes in an exr
>> file
>>
>> It is certainly possible to iterate over the full metadata of an OpenEXR
>> file.
>>
>> Imf::Header *header = ...;
>> for (Imf::Header::ConstIterator hit = header->begin();
>> hit != header->end(); ++hit) {
>> std::cout << "name = " << hit.name()
>> << ", type = " << hit.attribute().typeName() <<
>> "\n";
>> }
>>
>>
>> For a full example, look at this portion of the OpenImageIO code:
>> https://github.com/OpenImageIO/oiio/blob/master/src/openexr.imageio/exrinp
>> ut.cpp
>> look at the loop beginning at line 530.
>>
>>
>>
>>
>> On Nov 19, 2013, at 12:48 AM, Blecher Wolf <address@hidden>
>> wrote:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA256
>>>
>>> Hi,
>>>
>>> we are currently implementing OpenEXR as an internal exchange/storage
>>> format for some processed medical images.
>>> Since we need to store a variety of metadata (realized by storing
>>> several attributes) depending on the actual image type, we would like to
>>> query a list of attributes present in the file.
>>> As far as I have seen, the implementation (version 2.0.1) does not
>>> provide a method for this, so my idea was to store an additional
>>> attribute (StringVector) which contains the available attributes and
>>> their static typename.
>>> Any better ideas?
>>>
>>> Cheers
>>>
>>> Wolf
>>
>> --
>> Larry Gritz
>> address@hidden
>>
>>
>>
>>
>> _______________________________________________
>> Openexr-devel mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/openexr-devel
>>
>> _______________________________________________
>> Openexr-devel mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/openexr-devel
>
--
Larry Gritz
address@hidden