Editing APP1 Values - non writable error

Started by AirborneEngineer, October 27, 2020, 06:21:29 PM

Previous topic - Next topic

AirborneEngineer

Good afternoon,

I have been using the EXIF command line tool for a few years, awesome tool for making 360 panoramas display properly on social media and adding GPS info to my photos. Great software and forums; long time reader, first time poster.

I am trying to adjust some environmental parameters such as relative humidity and temperature, but I am getting a "non writable" error.
I have sensor data logged with gps time codes, and the camera also has gps timecodes logged for each photo. Have no problem matching up and interpolating the values. But I am unable to write to them.

What is the proper approach I should be using to update or replace the EXIF data? This is likely more of a theory question.
I am comfortable using both the Linux command line and python wrapper.



exiftool -RelativeHumidity=20 20201022_072448_R.jpg
    Warning: Sorry, RelativeHumidity is not writable
    Nothing to do.

exiftool -AtmosphericTemperature=-12 20201022_072448_R.jpg
    Warning: Sorry, AtmosphericTemperature is not writable
    Nothing to do.


Both of the values are readable:
exiftool -RelativeHumidity 20201022_072448_R.jpg
    Relative Humidity               : 45.0 %
exiftool -AtmosphericTemperature 20201022_072448_R.jpg
    Atmospheric Temperature         : 8.0 C

Thanks in advance for any insight you may be able to provide.
All the best,
Dan


PS Didn't mean to cross post. Posted it then thought it probably fit best under Metadata. Copied it there, then went to delete this one. First time posting and didn't realise you can delete your own posts  ::)
Admin if you could kindly cull one of the duplicates that would be greatly appreciated.

Full print of the EXIF Data:
[{'APP1:AboveColor': '170 128 128',
  'APP1:AtmosphericTemperature': 7.9999938964844,
  'APP1:AtmosphericTransAlpha1': '0.00656899996101856',
  'APP1:AtmosphericTransAlpha2': 0.0126200001686811,
  'APP1:AtmosphericTransBeta1': '-0.00227600010111928',
  'APP1:AtmosphericTransBeta2': '-0.00667000003159046',
  'APP1:AtmosphericTransX': 1.89999997615814,
  'APP1:BelowColor': '50 128 128',
  'APP1:CameraModel': 'Vue Pro R 640 19mm',
  'APP1:CameraPartNumber': '436-0024-00',
  'APP1:CameraSerialNumber': 296842,
  'APP1:CameraSoftware': '22.20.16.1',
  'APP1:CameraTemperatureMaxClip': 149.999993896484,
  'APP1:CameraTemperatureMaxSaturated': 149.999993896484,
  'APP1:CameraTemperatureMaxWarn': 134.999993896484,
  'APP1:CameraTemperatureMinClip': -60.0000061035156,
  'APP1:CameraTemperatureMinSaturated': -60.0000061035156,
  'APP1:CameraTemperatureMinWarn': -25.0000061035156,
  'APP1:CameraTemperatureRangeMax': 134.999993896484,
  'APP1:CameraTemperatureRangeMin': -25.0000061035156,
  'APP1:CreatorSoftware': 'FLIR',
  'APP1:DateTimeOriginal': ##REDACTED##,
  'APP1:Emissivity': 0.93994140625,
  'APP1:FieldOfView': 32,
  'APP1:FilterModel': '',
  'APP1:FilterPartNumber': '',
  'APP1:FilterSerialNumber': '',
  'APP1:FocusDistance': 0,
  'APP1:FocusStepCount': 0,
  'APP1:FrameRate': 30,
  'APP1:GPSAltitude': ##REDACTED##,
  'APP1:GPSLatitude': ##REDACTED##,
  'APP1:GPSLatitudeRef': ##REDACTED##,
  'APP1:GPSLongitude': ##REDACTED##,
  'APP1:GPSLongitudeRef': ##REDACTED##,
  'APP1:GPSMapDatum': 'WGS84',
  'APP1:GPSSpeed': 0,
  'APP1:GPSSpeedRef': 'K',
  'APP1:GPSTrack': 0,
  'APP1:GPSTrackRef': 'T',
  'APP1:GPSValid': 1,
  'APP1:GPSVersionID': 2200,
  'APP1:IRWindowTemperature': 21.9999938964844,
  'APP1:IRWindowTransmission': 1,
  'APP1:Isotherm1Color': '100 128 128',
  'APP1:Isotherm2Color': '100 110 240',
  'APP1:LensModel': '',
  'APP1:LensPartNumber': '',
  'APP1:LensSerialNumber': '',
  'APP1:ObjectDistance': 50,
  'APP1:OverflowColor': '67 216 98',
  'APP1:Palette': '(Binary data 672 bytes, use -b option to extract)',
  'APP1:PaletteColors': 224,
  'APP1:PaletteFileName': 'WhiteHot',
  'APP1:PaletteMethod': 0,
  'APP1:PaletteName': 'WhiteHot',
  'APP1:PaletteStretch': 2,
  'APP1:PlanckB': 1428,
  'APP1:PlanckF': 1,
  'APP1:PlanckO': -200,
  'APP1:PlanckR1': 17096.453125,
  'APP1:PlanckR2': 0.0475547425448895,
  'APP1:RawThermalImage': '(Binary data 655564 bytes, use -b option to '
                          'extract)',
  'APP1:RawThermalImageHeight': 512,
  'APP1:RawThermalImageType': 'TIFF',
  'APP1:RawThermalImageWidth': 640,
  'APP1:RawValueMedian': 1381,
  'APP1:RawValueRange': 1083,
  'APP1:RawValueRangeMax': 65535,
  'APP1:RawValueRangeMin': 0,
  'APP1:ReflectedApparentTemperature': -47.0000061035156,
  'APP1:RelativeHumidity': 0.449999988079071,
  'APP1:UnderflowColor': '41 110 240',
  'Composite:Aperture': 1.25,
  'Composite:CircleOfConfusion': 0.0577834438847688,
  'Composite:DOF': '4.99797139873022 0',
  'Composite:FOV': 122.478133435774,
  'Composite:FocalLength35efl': 9.87962837741044,
  'Composite:GPSAltitude': ##REDACTED##,
  'Composite:GPSLatitude': ##REDACTED##,
  'Composite:GPSLongitude': ##REDACTED##,
  'Composite:GPSPosition': ##REDACTED##,
  'Composite:HyperfocalDistance': 4.9979714012187,
  'Composite:ImageSize': '640 512',
  'Composite:Megapixels': 0.32768,
  'Composite:PeakSpectralSensitivity': 10.0753862044818,
  'Composite:ScaleFactor35efl': 0.519980440916339,
  'EXIF:ColorSpace': 1,
  'EXIF:ComponentsConfiguration': '1 2 3 0',
  'EXIF:Compression': 6,
  'EXIF:ExifImageHeight': 512,
  'EXIF:ExifImageWidth': 640,
  'EXIF:ExifVersion': '0210',
  'EXIF:FNumber': 1.25,
  'EXIF:FlashpixVersion': '0100',
  'EXIF:FocalLength': 19,
  'EXIF:FocalPlaneResolutionUnit': 4,
  'EXIF:FocalPlaneXResolution': 10.88,
  'EXIF:FocalPlaneYResolution': 8.7,
  'EXIF:GPSAltitude': ##REDACTED##,
  'EXIF:GPSAltitudeRef':##REDACTED##,
  'EXIF:GPSLatitude': ##REDACTED##,
  'EXIF:GPSLatitudeRef': ##REDACTED##,
  'EXIF:GPSLongitude': ##REDACTED##,
  'EXIF:GPSLongitudeRef': ##REDACTED##,
  'EXIF:GPSSpeed': 0,
  'EXIF:GPSSpeedRef': 'K',
  'EXIF:GPSTimeStamp': '07:24:50',
  'EXIF:GPSTrack': 0,
  'EXIF:GPSTrackRef': 'T',
  'EXIF:GPSVersionID': '2 2 0 0',
  'EXIF:Make': 'FLIR',
  'EXIF:Model': 'Vue Pro R 640 19mm',
  'EXIF:Orientation': 1,
  'EXIF:ResolutionUnit': 2,
  'EXIF:Software': '22.20.16.1',
  'EXIF:SubjectArea': '320 256 640 512',
  'EXIF:XResolution': 72,
  'EXIF:YCbCrPositioning': 1,
  'EXIF:YResolution': 72,
  'ExifTool:ExifToolVersion': 11.88,
  'File:BitsPerSample': 8,
  'File:ColorComponents': 3,
  'File:Directory': '.',
  'File:EncodingProcess': 0,
  'File:ExifByteOrder': 'II',
  'File:FileAccessDate':##REDACTED##,
  'File:FileInodeChangeDate':##REDACTED##,
  'File:FileModifyDate': ##REDACTED##,
  'File:FileName': '20201022_072448_R.jpg',
  'File:FilePermissions': 755,
  'File:FileSize': 731068,
  'File:FileType': 'JPEG',
  'File:FileTypeExtension': 'JPG',
  'File:ImageHeight': 512,
  'File:ImageWidth': 640,
  'File:MIMEType': 'image/jpeg',
  'File:YCbCrSubSampling': '2 2',
  'JFIF:JFIFVersion': '1 2',
  'JFIF:ResolutionUnit': 1,
  'JFIF:XResolution': 96,
  'JFIF:YResolution': 96,
  'SourceFile': './20201022_072448_R.jpg',
  'XMP:BandName': 'LWIR',
  'XMP:CentralWavelength': 10000,
  'XMP:DetectorBitDepth': 16,
  'XMP:GPSXYAccuracy': 0.0,
  'XMP:GPSZAccuracy': 0.0,
  'XMP:GyroRate': 0.0,
  'XMP:IsNormalized': 1,
  'XMP:MAVComponentID': 100,
  'XMP:MAVPitch': 0,
  'XMP:MAVPitchRate': 0,
  'XMP:MAVRateOfClimb': 0,
  'XMP:MAVRateOfClimbRef': 'M',
  'XMP:MAVRelativeAltitude': 0,
  'XMP:MAVRoll': 0,
  'XMP:MAVRollRate': 0,
  'XMP:MAVVersionID': '0.3.0.0',
  'XMP:MAVYaw': 0,
  'XMP:MAVYawRate': 0,
  'XMP:Pitch': 0,
  'XMP:Roll': 0,
  'XMP:TlinearGain': 0.0,
  'XMP:WavelengthFWHM': 4500,
  'XMP:Yaw': 0}]


PH Edit: put output in a code block.

Phil Harvey

The tags you mention are FLIR CameraInfo tags.  Currently none of these are writable by ExifTool.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

AirborneEngineer

Thanks for the super prompt reply. Any tips on where to look for how to edit them?

Phil Harvey

Sadly, in many cases if ExifTool can't do it then nothing can.  I would be surprised if you could find existing software to do this.  Your best chance would be FLIR software, but in general manufacturer software tends to be pretty crappy when it comes to doing anything creative.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

AirborneEngineer

That is unfortunate. Looks like I may have to do a few thousand click through their software  :-\

Was hoping that since ExifTool could decode them there might also be a process for encoding, just not implemented since it is a niche within a niche.

Have a wonderful rest of your day.