Package gov.nih.mipav.model.file
Class MetadataExtractor.ExifReader
java.lang.Object
gov.nih.mipav.model.file.MetadataExtractor.ExifReader
- All Implemented Interfaces:
MetadataExtractor.JpegSegmentMetadataReader
- Enclosing class:
MetadataExtractor
public class MetadataExtractor.ExifReader
extends Object
implements MetadataExtractor.JpegSegmentMetadataReader
Decodes Exif binary data, populating a
MetadataExtractor.Metadata object with tag values in MetadataExtractor.ExifSubIFDDirectory,
MetadataExtractor.ExifThumbnailDirectory, MetadataExtractor.ExifInteropDirectory, MetadataExtractor.GpsDirectory and one of the many camera
makernote directories.- Author:
- Drew Noakes https://drewnoakes.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringExif data stored in JPEG files' APP1 segment are preceded by this six character preamble "Exif\0\0". -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidextract(MetadataExtractor.RandomAccessReader reader, MetadataExtractor.Metadata metadata) Reads TIFF formatted Exif data from start of the specifiedMetadataExtractor.RandomAccessReader.voidextract(MetadataExtractor.RandomAccessReader reader, MetadataExtractor.Metadata metadata, int readerOffset) Reads TIFF formatted Exif data a specified offset within aMetadataExtractor.RandomAccessReader.voidextract(MetadataExtractor.RandomAccessReader reader, MetadataExtractor.Metadata metadata, int readerOffset, MetadataExtractor.Directory parentDirectory) Reads TIFF formatted Exif data at a specified offset within aMetadataExtractor.RandomAccessReader.Gets the set of JPEG segment types that this reader is interested in.voidreadJpegSegments(Iterable<byte[]> segments, MetadataExtractor.Metadata metadata, MetadataExtractor.JpegSegmentType segmentType) Extracts metadata from all instances of a particular JPEG segment type.booleanstartsWithJpegExifPreamble(byte[] bytes) Indicates whether 'bytes' starts with 'JpegSegmentPreamble'.
-
Field Details
-
JPEG_SEGMENT_PREAMBLE
Exif data stored in JPEG files' APP1 segment are preceded by this six character preamble "Exif\0\0".- See Also:
-
-
Constructor Details
-
ExifReader
public ExifReader()
-
-
Method Details
-
getSegmentTypes
Description copied from interface:MetadataExtractor.JpegSegmentMetadataReaderGets the set of JPEG segment types that this reader is interested in.- Specified by:
getSegmentTypesin interfaceMetadataExtractor.JpegSegmentMetadataReader
-
readJpegSegments
public void readJpegSegments(Iterable<byte[]> segments, MetadataExtractor.Metadata metadata, MetadataExtractor.JpegSegmentType segmentType) Description copied from interface:MetadataExtractor.JpegSegmentMetadataReaderExtracts metadata from all instances of a particular JPEG segment type.- Specified by:
readJpegSegmentsin interfaceMetadataExtractor.JpegSegmentMetadataReader- Parameters:
segments- A sequence of byte arrays from which the metadata should be extracted. These are in the order encountered in the original file.metadata- TheMetadataExtractor.Metadataobject into which extracted values should be merged.segmentType- TheMetadataExtractor.JpegSegmentTypebeing read.
-
startsWithJpegExifPreamble
public boolean startsWithJpegExifPreamble(byte[] bytes) Indicates whether 'bytes' starts with 'JpegSegmentPreamble'. -
extract
public void extract(MetadataExtractor.RandomAccessReader reader, MetadataExtractor.Metadata metadata) Reads TIFF formatted Exif data from start of the specifiedMetadataExtractor.RandomAccessReader. -
extract
public void extract(MetadataExtractor.RandomAccessReader reader, MetadataExtractor.Metadata metadata, int readerOffset) Reads TIFF formatted Exif data a specified offset within aMetadataExtractor.RandomAccessReader. -
extract
public void extract(MetadataExtractor.RandomAccessReader reader, MetadataExtractor.Metadata metadata, int readerOffset, MetadataExtractor.Directory parentDirectory) Reads TIFF formatted Exif data at a specified offset within aMetadataExtractor.RandomAccessReader.
-