Options

Request: D70 EXIF

riedlriedl Registered Users Posts: 6 Beginner grinner
Hello. I'm a SmugMug newbie with a D70 and a bunch of photos. I don't know much about EXIF yet, but I'm sad that some of my Nikon D70 EXIF information that shows up in Nikon's capture tools doesn't show up on SmugMug. From browsing the fora it looks like others have this problem with the D70. Two thoughts:

1) I even hate to ask for this, because I'm betting Nikon is not EXIF-compliant, but: Are you guys thinking about including a D70-compliant parser for EXIF?

2) If not, how about an API that did something like deliver a raw EXIF string to an external parser? That way I could write my own parser that would work really hard to read as much of the EXIF stuff as is available.

Also: if I write a parser that uses the API to do something like the above, say in Python, is there a way for me to plug it into the SmugMug interface that I see on the site? If so, where might I read about how to do that?

Thanks!
John

Comments

  • Options
    NikolaiNikolai Registered Users Posts: 19,035 Major grins
    edited January 5, 2005
    Hello
    1. Please provide a link to one of the (original?) files you have uploaded that features that "nikon-specific" EXIF.
    2. Are you a windows user (or mac/linux/etc)?
    Cheers!1drink.gif
    "May the f/stop be with you!"
  • Options
    flyingpylonflyingpylon Registered Users Posts: 260 Major grins
    edited January 5, 2005
    What specifically does not show up?

    You have to remember that different manufacturers write EXIF data in different ways. There are a few standard fields, but then there are "Maker Notes" which can vary from manufacturer to manufacturer. I believe that the use of maker notes is allowed in the EXIF spec, so it may not be correct to say that Nikon is not EXIF-compliant. It's just that smugmug is not reading those maker notes.

    It's understandably tough to create something that reads all the different permutations of EXIF data out there, but it can be done. The image management tool IMatch reads almost everything, but I know the developer has put a lot of work into making it do that.

    Also, rather than write a parser yourself, you might want to check out IMatch at www.photools.com. It has a powerful scripting language that lets you use all kinds of image data in variables, etc. Ultimately though, I'm not sure how smugmug will be able to handle any of that data unless they make some changes.
  • Options
    riedlriedl Registered Users Posts: 6 Beginner grinner
    edited January 5, 2005
    Sure. The photos are in a new gallery I created just so you can look at a couple of the photos. It's at:

    http://riedl.smugmug.com/

    It's my only "featured gallery", and my only "public gallery", so I think it will be easy to find.

    Below I've attached the Nikon PictureProject information (which is all as I remember the photo), and the SmugMug 'detail information', which is mostly right, but some slightly wrong, and some missing.

    The parts I'd most like to get included are ISO, White Balance, and Metering Mode. I'd also like the flash to be correct. (No flash was used for this picture, but SmugMug thinks there was some flash.)

    I did the upload to SmugMug from Firefox under Windows. I used no editing software before doing the upload.

    Thanks!
    John

    Here's the information Nikon's PictureProject tells me about the first photo:

    Nikon D70
    2004/12/27 13:47:53.7
    JPEG (8-bit) Fine
    Image Size: Large (3008 x 2000)
    Lens: VR 70-200mm F/2.8 G
    Focal Length: 200mm
    Digital Vari-Program: Sports
    Metering Mode: Multi-Pattern
    1/800 sec - F/2.8
    Exposure Comp.: 0 EV
    Sensitivity: ISO 1600
    Optimize Image:
    White Balance: Auto
    AF Mode: AF-C
    Flash Sync Mode: Not Attached
    Color Mode: Mode Ia (sRGB)
    Tone Comp: Auto
    Hue Adjustment: 0°
    Saturation: Normal
    Sharpening: Auto
    Image Comment:
    Noise Reduction: OFF

    and here is what SmugMug tells me:
    <table border="1" cellpadding="4" cellspacing="0"> <tbody><tr align="top"><td class="headmd" colspan="2"><center>Photograph Details</center></td> </tr> <tr valign="top"> <td>Date Taken:</td> <td> 2004-12-27 13:47:53</td> </tr> <tr valign="top"> <td>Date Digitized:</td> <td> 2004-12-27 13:47:53</td> </tr> <tr valign="top"> <td>Date Modified:</td> <td> 2004-12-27 13:47:53</td> </tr> <tr valign="top"> <td>Make:</td> <td> NIKON CORPORATION</td> </tr> <tr valign="top"> <td>Model: </td> <td> NIKON D70 </td> </tr> <tr valign="top"> <td>Size: </td> <td> 3008x2000 </td> </tr> <tr valign="top"> <td>Bytes: </td> <td> 2736596 </td> </tr> <tr valign="top"> <td>Aperture: </td> <td> f/2.8 </td> </tr> <tr valign="top"> <td>Focal Length: </td> <td> 200mm (300mm 35mm) </td> </tr> <tr valign="top"> <td>Exposure Time: </td> <td> 0.0012s (10/8000)</td> </tr> <tr valign="top"> <td>JPEG Quality:</td> <td> fine</td> </tr> <tr valign="top"> <td>Flash:</td> <td> 16</td> </tr> <tr valign="top"> <td>Exposure Bias:</td> <td> 0</td> </tr> <tr valign="top"> <td>DigitalZoomRatio:</td> <td> 1/1</td> </tr> <tr valign="top"> <td>Sharpness:</td> <td> 2</td> </tr> <tr valign="top"> <td>SensingMethod:</td> <td> One-chip color sensor</td> </tr> <tr valign="top"> <td>ColorSpace:</td> <td> sRGB</td></tr></tbody> </table>
  • Options
    riedlriedl Registered Users Posts: 6 Beginner grinner
    edited January 5, 2005
    Thanks, flyingpylon. Does anyone know where the EXIF spec is? I'd be interested in reading it, so I can see for myself how well Nikon is behaving. I'd think ISO would be standard, though!

    John
  • Options
    dkappdkapp Registered Users Posts: 985 Major grins
    edited January 5, 2005
    riedl wrote:
    Thanks, flyingpylon. Does anyone know where the EXIF spec is? I'd be interested in reading it, so I can see for myself how well Nikon is behaving. I'd think ISO would be standard, though!

    John

    The D70 ISO information is stored in the "makers notes" field. This is not something that Smugmug currently supports. I know of at least one Windows application that moves the info for you, but I don't have the link handy. I'm sure a search on google will supply the info.

    I'm a D70 owner, and would be interested in a fix.

    Dave
  • Options
    riedlriedl Registered Users Posts: 6 Beginner grinner
    edited January 7, 2005
    Some EXIF Problems Explained!
    I've explained two of the EXIF problems:

    FLASH: according to the spec, flash is a two byte field, the second byte of which is a bitmask. All sorts of hairy details on page 35 and 36 of the EXIF spec (http://www.exif.org/specifications.html), but the short (:-) of it is that a flash value of decimal 16 = hex 0010X means "compulsory flash OFF mode", indicating that the flash did not fire because it was not allowed to by the operator. (Which is exactly my situation when shooting hockey.) I'm betting the library smugmug uses doesn't process that field correctly. (There's a second field elsewhere in the spec that says how powerful the flash was, in some kind of fancy light energy units.) I've written to smugmug to ask what library they're using; if it's one of the open source ones, perhaps I can fix it for them.

    White Balance: according to the spec, there are only two defined values for white balance: "manual" or "auto". Nikon has a half-dozen versions of "manual", which are important to me when shooting in hockey arenas (incandescent, flourescent, sunlight, shade, and maybe some others I'm forgetting). Presumably they could only report these in "Makers Notes", which they apparently do! It would be awesome if we could extend the SmugMug library to pull out this information too. (For the most part it's probably ASCII, so it shouldn't be hard to parse.)

    I'm still stumped by ISO. It's right there in the spec, and it looks like just the right kind of information. Does anyone get ISO for their pictures? Perhaps it's something that smugbug's library just doesn't bother to pull out. (Or perhaps it's in Makers Notes as suggested by the previous poster; I just can't figure out why Nikon would do that.)

    John
  • Options
    riedlriedl Registered Users Posts: 6 Beginner grinner
    edited January 7, 2005
    EXIF 2.2 Standard
    Turns out all the fields I'm having trouble with are new or changed in the EXIF 2.2 standard. Perhaps that's the problem.

    I did learn a little more about White Balance. There's another field called "LightSource", which has values that capture all of the settings the D70 can use for light source (flourescent et al.). If they're using that field, which is also modified in the 2.2 spec, they're well-behaved, and we just need an updated library. I'm going to check what's in the files generated by the D70.

    John
  • Options
    riedlriedl Registered Users Posts: 6 Beginner grinner
    edited January 16, 2005
    Nikon D70 EXIF Explained
    I've figured out the makernote situation for the D70 completely, thanks to some wonderful Web resources. I even have working code that smugmug is welcome to use to get these features incorporated on their site. Enjoy!

    The Nikon D70 stores a bunch of useful information in the makernote
    section of the EXIF. The field I'm most interested in is ISO, which
    is easy to get from the makernote. In addition, there are four other
    fields that would be 'nice to have'. They're a little trickier to
    get, but I explain below how, and include working Python code.

    Here's a site that describes briefly the three types of Nikon
    Makernotes

    http://home.arcor.de/ahuggel/exiv2/makernote.html

    Here's a site that explains exactly how the three types of Nikon
    Makernotes work:

    http://www.ozhiker.com/electronics/pjmt/jpeg_info/nikon_mn.html

    XXX looks like LightingType should be 144, not 143 as it is currently
    on this site!

    The D70 Makernotes format starts with the characters (in decimal):
    [78, 105, 107, 111, 110, 00, 02]
    N I K O N 0 ^ Type 2

    3 other chars (a total of 10)

    An 8 char TIFF Header:
    bytes 0-1: chars II for little endian
    or MM for big endian
    bytes 2-3: the constant 42, to further identify TIFF header
    bytes 4-7: offset in bytes of the first IFD

    Other than this header, the D70 makernote format is exactly like other
    makernote formats for items whose value fits in the 'offset' field.
    That includes ISO Field, which therefore is trivial to pull out of the
    makernote.

    For longer values, the offset is a 'pointer', but crucially:

    For the D70 and other cameras that use this format the offset is from
    this second TIFF header, not from the original TIFF header. (Some
    argue that this is a good idea, since it makes the makernotes
    relocatable without the program that moves them understanding their
    layout.)

    I've modified Gene Cash's cool Python program so it can read
    makernotes in this format. I attach the modified code here in case
    you can use it.

    The fields I (and presumably other D70 users) would love to have are:

    MakerNote Whitebalance: AUTO
    MakerNote DigitalVariProgram: SPORT [String]
    MakerNote FocusMode: AF-C [String]
    MakerNote LensMinMaxFocalMaxAperture: [70, 200, 14/5, 14/5] [4 ratios]

    All of these are very easy to read once you get the relative offsets
    correct in the code. The attached code can read all of these
    makernotes (and *oodles* of others as well).

    Happy hacking,
    John

    P.S. I had to lie about the type of the file to get it to upload. It's really a text file of python code (.py), not a PDF.

    P.P.S. If you prefer C++ code, exiv2 also can read the D70 makernotes perfectly.
  • Options
    TeddyB1967TeddyB1967 Registered Users Posts: 1 Beginner grinner
    edited April 22, 2006
    EXIF Data
    Imnew here (just joined) I know nothing about the EXIF data or what it all means and have a question that I hope someome can answer for me.
    If the EXIF data show's a photo prgram (like Paint Shop, Photo Shop, Adobe etc.) listed, what does that mean? Does it mean that program was used to alter the pic in some way or the camera associated with that program to transfer pics to computer or what? I would really like to know what it means if anyone can help, I'd be greatful for the info.

    Thanks Teddy

    This is the EXIF for a pic as an example:
    Heres the exif

    Filename : 0000000000.jpg
    JFIF_APP1 : Exif
    JFIF_APP14 : Photoshop 3.0
    JFIF_APP1 : http
    JFIF_APP2 : ICC Profile (offset:20513 size:3151bytes)
    JFIF_APP15 : Adobe
    AdobeResource
    Unknown (1061) : 16Byte
    DisplayInfo : 16Byte
    Unknown (1062) : 14Byte
    GlobalAngle : 4Byte
    Global Altitude : 4Byte
    PrintFlags : 10Byte
    CopyrightFlag : 2Byte
    Print flags : 10Byte
    Color halftoning information : 72Byte
    Color transfer functions : 112Byte
    Layer state information : 2Byte
    Layers group information : 12Byte
    Grid and Guides information : 16Byte
    URL List : 4Byte
    Slices : 842Byte
    Unknown (1064) : 12Byte
    Document specific IDs : 4Byte
    ThumbnailResource : JPEG Format (Offset:7994Size:6276)
    Thumbnail Type : JPEG
    Thumnail Width : 160
    Thumbnail Height : 96
    Version Info : 84Byte
    JPEG quality : 00010100
    Main Information
    Orientation : left-hand side
    XResolution : 72/1
    YResolution : 72/1
    ResolutionUnit : Inch
    Software : Adobe Photoshop CS Windows
    DateTime : 2006:04:20 20:58:00
    ExifInfoOffset : 164
    Sub Information
    ColorSpace : sRGB
    ExifImageWidth : 640
    ExifImageHeight : 382
  • Options
    kjdragonkjdragon Registered Users Posts: 2 Beginner grinner
    edited April 26, 2006
    D70 user here too.

    I would be most interested in an ISO listing in the smugmug exif!!
  • Options
    LilleGLilleG Registered Users Posts: 313 Major grins
    edited August 3, 2006
    kjdragon wrote:
    D70 user here too.

    I would be most interested in an ISO listing in the smugmug exif!!

    I'm late to this subject but I just noticed that images processed in the Lightroom beta show ISO while those processed in Capture NX don't. I'd like SM to show ISO too but not enough to use Lightroom to get it. Just bought Capture NX instead. Delivery today! clap.gif

    Lee
  • Options
    sitsit Registered Users Posts: 87 Big grins
    edited August 10, 2006
    exiftool
    I'm surprised ExifTool hasn't been mentioned: http://www.sno.phy.queensu.ca/~phil/exiftool/

    It reads and writes EXIF, including MakerNotes, for many cameras. It probably can extract the ISO information from D70 images just fine.
  • Options
    DoctorItDoctorIt Administrators Posts: 11,951 moderator
    edited November 10, 2006
    I'm even later to this subject, and wonder if anyone has new news? ear.gif

    I also just wanted to add that no one has mentioned that Photoshop CS and CS2 read and give ISO info just fine for RAW .nef's, but not for .jpg's - obviously, this translates to what then shows up in Smugmug as well.

    I point that out because not only does ISO not appear in exif for images that started as a D70 jpg, but there's also lots of extra fields. For example...

    RAW:
    http://doctorit.smugmug.com/photos/newexif.mg?ImageID=108593004

    JPG:
    http://doctorit.smugmug.com/photos/newexif.mg?ImageID=108592993

    So is there a discrepancy in how the D70 writes the exif? I find this strange.
    Erik
    moderator of: The Flea Market [ guidelines ]


Sign In or Register to comment.