I am continuing to work with camera data and I have been finding ways of using that data with ImageMagick.
Reading further into the documentation I am just beginning to realise how immensely powerful ImageMagick, especially as an opensource tool. I've been experimenting with the "verbose" command which prints out file data from the RAW images I have been capturing.
Here is an example of some of the detailed data I can access from my RAW files
30042116.jpg
Image: 20170930042116.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Mime type: image/jpeg
Class: DirectClass
Geometry: 3280x2464+0+0
Resolution: 72x72
Print size: 45.5556x34.2222
Units: PixelsPerInch
Type: TrueColor
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Pixels: 8081920
Red:
min: 37 (0.145098)
max: 243 (0.952941)
mean: 109.887 (0.430928)
standard deviation: 37.8984 (0.148621)
kurtosis: 2.09037
skewness: 1.56838
Green:
min: 32 (0.12549)
max: 237 (0.929412)
mean: 99.3588 (0.389642)
standard deviation: 36.1291 (0.141683)
kurtosis: 3.51254
skewness: 1.88898
Blue:
min: 36 (0.141176)
max: 243 (0.952941)
mean: 106.87 (0.419098)
standard deviation: 36.5096 (0.143175)
kurtosis: 2.6352
skewness: 1.69613
Image statistics:
Overall:
min: 32 (0.12549)
max: 243 (0.952941)
mean: 105.372 (0.413223)
standard deviation: 36.8536 (0.144524)
kurtosis: 2.7792
skewness: 1.72331
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 3280x2464+0+0
Dispose: Undefined
Iterations: 0
Compression: JPEG
Quality: 100
Orientation: Undefined
Properties:
date:create: 2017-09-30T19:19:08+13:00
date:modify: 2017-09-30T17:21:22+13:00
exif:ApertureValue: 20000/10000
exif:BrightnessValue: 249/100
exif:ColorSpace: 1
exif:ComponentsConfiguration: 1, 2, 3, 0
exif:DateTime: 2017:09:30 04:21:21
exif:DateTimeDigitized: 2017:09:30 04:21:21
exif:DateTimeOriginal: 2017:09:30 04:21:21
exif:ExifImageLength: 2464
exif:ExifImageWidth: 3280
exif:ExifOffset: 192
exif:ExifVersion: 48, 50, 50, 48
exif:ExposureMode: 0
exif:ExposureProgram: 3
exif:ExposureTime: 78329/1000000
exif:Flash: 0
exif:FlashPixVersion: 48, 49, 48, 48
exif:FNumber: 20000/10000
exif:FocalLength: 30390/10000
exif:ImageLength: 2464
exif:ImageWidth: 3280
exif:InteroperabilityOffset: 906
exif:ISOSpeedRatings: 125
exif:Make: RaspberryPi
exif:MakerNote: 101, 118, 61, 45, 49, 32, 109, 108, 117, 120, 61, 45, 49, 32, 101, 120, 112, 61, 55, 56, 51, 50, 57, 32, 97, 103, 61, 54, 51, 55, 32, 102, 111, 99, 117, 115, 61, 50, 53, 53, 32, 103, 97, 105, 110, 95, 114, 61, 49, 46, 50, 54, 57, 32, 103, 97, 105, 110, 95, 98, 61, 49, 46, 52, 49, 52, 32, 103, 114, 101, 101, 110, 110, 101, 115, 115, 61, 45, 56, 57, 32, 99, 99, 109, 61, 54, 48, 55, 56, 44, 45, 50, 48, 52, 52, 44, 54, 56, 44, 45, 49, 49, 57, 56, 44, 53, 52, 50, 56, 44, 45, 49, 51, 48, 44, 50, 55, 50, 44, 45, 51, 57, 49, 54, 44, 55, 55, 52, 52, 44, 48, 44, 48, 44, 48, 32, 109, 100, 61, 48, 32, 116, 103, 61, 50, 54, 49, 32, 50, 54, 49, 32, 111, 116, 104, 61, 48, 32, 48, 32, 98, 61, 48, 32, 102, 61, 50, 54, 49, 32, 50, 54, 49, 32, 102, 105, 61, 48, 32, 73, 83, 80, 32, 66, 117, 105, 108, 100, 32, 68, 97, 116, 101, 58, 32, 65, 117, 103, 32, 32, 56, 32, 50, 48, 49, 55, 44, 32, 49, 50, 58, 48, 52, 58, 52, 54, 32, 86, 67, 95, 66, 85, 73, 76, 68, 95, 73, 68, 95, 86, 69, 82, 83, 73, 79, 78, 58, 32, 49, 57, 54, 48, 54, 51, 52, 51, 56, 100, 55, 98, 98, 48, 55, 54, 57, 56, 54, 49, 99, 56, 54, 102, 57, 52, 56, 97, 101, 54, 53, 51, 55, 50, 55, 97, 100, 98, 55, 101, 32, 40, 99, 108, 101, 97, 110, 41, 32, 86, 67, 95, 66, 85, 73, 76, 68, 95, 73, 68, 95, 85, 83, 69, 82, 58, 32, 100, 99, 52, 32, 86, 67, 95, 66, 85, 73, 76, 68, 95, 73, 68, 95, 66, 82, 65, 78, 67, 72, 58, 32, 109, 97, 115, 116, 101, 114, 32
exif:MaxApertureValue: 20000/10000
exif:MeteringMode: 2
exif:Model: RP_imx219
exif:ResolutionUnit: 2
exif:ShutterSpeedValue: 3674309/1000000
exif:thumbnail:Compression: 6
exif:thumbnail:ImageLength: 48
exif:thumbnail:ImageWidth: 64
exif:thumbnail:InteroperabilityIndex: R98
exif:thumbnail:JPEGInterchangeFormat: 1042
exif:thumbnail:JPEGInterchangeFormatLength: 24576
exif:thumbnail:ResolutionUnit: 2
exif:thumbnail:XResolution: 72/1
exif:thumbnail:YResolution: 72/1
exif:WhiteBalance: 0
exif:XResolution: 72/1
exif:YCbCrPositioning: 1
exif:YResolution: 72/1
jpeg:colorspace: 2
jpeg:sampling-factor: 2x2,1x1,1x1
signature: b600a2a2dbd22e0545ed6127baccaaaaa68cbdfcbb6bcd983c8def1b6388ca03
Profiles:
Profile-exif: 25624 bytes
Artifacts:
filename: 20170930042116.jpg
verbose: true
Tainted: False
Filesize: 14.55MB
Number pixels: 8.082M
Pixels per second: 42.54MB
User time: 0.190u
Elapsed time: 0:01.190
As I think about other ways of visualising the camera data I have been digging deeper into the ImageMagick documentation. I've been learning about different colorspaces and how they can be represented in different ways.
As a filmmaker I love the concept of animating frames. Essentially that what filmmaking is - sequencing still images to create movement. Now that I've seen some of ideas about graphing data come to fruition I am starting to think about how I translate them into animations, or moving images. So I dug a little deeper into the ImageMagick documentation and learnt about different colorspaces and how they can be displayed in different ways. You know where these are heading...

