openexr-devel
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]