I would like to pick apart RAW image files (in Javascript), more specifically DNG files (e.g. raw photo from a newer iPhone with the setting "Raw" turned on, which produces a DNG file). This was a good starter on how to extract metadata from a single IFD: https://github.com/akucherenko/dng
I've tried reading the DNG specification (https://helpx.adobe.com/content/dam/help/en/photoshop/pdf/DNG_Spec_1_7_1_0.pdf) to learn how to extract data from multiple IFDs in a file but I'm missing a conceptual understanding on how a DNG file is organized.
How do I transverse an entire set of IFDs contained in a Raw DNG file and extract all of the metadata, along with all of the actual image data, thumbnail data, etc?
As DNG is basically a TIFF format, you might try something like https://github.com/image-js/tiff . Making a thumbnail image visible probably requires another library.