diff --git a/crates/engine/examples/raw_frame.rs b/crates/engine/examples/raw_frame.rs new file mode 100644 index 000000000..a1d5a86f1 --- /dev/null +++ b/crates/engine/examples/raw_frame.rs @@ -0,0 +1,497 @@ +//! Measure where a camera's own JPEG sits inside its raw sensor data, and which edge bands of that data hold no +//! picture: `cargo xtask raw-frame [--json] FILE…` (or `cargo run --release -p lightcraft-engine --example raw_frame -- +//! [--json] FILE…`). It checks the crop any decoder applies against the camera's own framing, and measures the entries +//! of Nikon `MEASURED_BODIES` (`crates/raw/src/vendor/nef.rs`; survey in `docs/nikon-bodies.md`) for bodies that record +//! no crop. It works for any colour-filter raw that embeds a full-size camera JPEG (checked on Nikon, Sony, Canon CR2 / +//! CR3, Pentax and Samsung files, where it finds the decoder's crop); bodies with a smaller embedded preview (most +//! Fujifilm, Panasonic and Olympus files) get the edge bands only. +//! +//! **Frame.** For each raw it aligns the largest embedded JPEG with the sensor data: both are reduced to half-size +//! luminance (the raw by summing each 2×2 colour-filter block), and every offset that keeps the JPEG inside the data is +//! scored by the correlation of their gradient magnitudes. The best offset is refined to sub-pixel precision; a peak +//! that is weak, ambiguous or between two pixels is flagged. Files are grouped by model and data size (bit depths +//! pooled: both read out the same area); when 3 clean files agree, the group prints its table entries (siblings of the +//! same readout that agree on the same frame count towards the 3; see `MIN_FILES`). Use several +//! files with detail across the frame: a blank sky, fog or a lens cap has nothing to align on (low score). The JPEG +//! must be the camera's full-size one, unrotated and without in-camera geometry corrections (distortion control off); +//! a smaller preview is not aligned. +//! +//! **Edge bands.** From each edge inwards (at most 128 lines) it counts lines that hold no picture: *empty or dark* +//! (mean below 1% of the range over black) or *masked* (flat, patternless and above black: even and odd samples +//! alike within 4 standard errors, spread no more than the line's own neighbour noise and under 0.4% of white). A +//! band that the decoder's crop still includes is developed as picture: the coloured bars of issue #976. This is a +//! survey aid: a dark band can also be deep shadow, so read it with the frame. +use std::collections::BTreeMap; + +use lightcraft_codecs::DecodeOptions; +use lightcraft_raw::RawData; + +/// Smallest correlation peak worth trusting, and how far it must stand above the best offset outside its 3×3 +/// neighbourhood (measured: 0.75–0.88 on detailed D5100 / D7000 frames, runners-up ≥ 0.05 lower). +const MIN_SCORE: f64 = 0.5; +const MIN_MARGIN: f64 = 0.02; +/// Largest sub-pixel distance from a whole pixel accepted as a clean alignment. +const MAX_FRACTION: f64 = 0.35; +/// Search at most this many half-size offsets in each direction (384 px of margin around the JPEG: Canon bodies keep +/// up to ~280 px of masked border). +const MAX_SEARCH: usize = 192; +/// Windows of up to this many offsets are searched exhaustively (every Nikon body); larger ones coarse to fine. +const FULL_SEARCH: usize = 2048; +/// Edge bands are counted up to this many lines from each edge. +const MAX_BAND: usize = 128; +/// Clean, agreeing files an entry needs: of one model and data size (bit depths pooled: both read out the same area), +/// or, with at least one of its own, together with sibling models of the same readout (data and JPEG size) whose own +/// files agree on the same frame. +const MIN_FILES: usize = 3; + +struct Frame { + jpeg: (usize, usize), + /// Sub-pixel offset of the JPEG's top left corner in sensor pixels. + at: (f64, f64), + score: f64, + margin: f64, +} + +impl Frame { + fn whole(&self) -> (usize, usize) { + (self.at.0.round().max(0.0) as usize, self.at.1.round().max(0.0) as usize) + } + fn clean(&self) -> bool { + let frac = |v: f64| (v - v.round()).abs(); + self.score >= MIN_SCORE && self.margin >= MIN_MARGIN && frac(self.at.0) <= MAX_FRACTION && frac(self.at.1) <= MAX_FRACTION + } +} + +/// Lines without picture at one edge: empty or dark ones, then masked ones (or the other way round), from the edge. +#[derive(Clone, Copy, Default)] +struct Band { + dark: usize, + masked: usize, +} + +impl Band { + fn total(self) -> usize { + self.dark + self.masked + } +} + +struct Measured { + model: String, + size: (usize, usize), + bits: u32, + black: f64, + white: f64, + /// The crop the decoder applies, in sensor-data coordinates: x, y, width, height. + crop: (usize, usize, usize, usize), + /// Left, right, top, bottom. + bands: [Band; 4], + frame: Result, + /// With a clean frame: what the crop holds beyond it. + beyond: Option<[Beyond; 4]>, +} + +impl Measured { + /// Lines of each edge band (left, right, top, bottom) inside the decoder's crop: developed as picture. + fn in_crop(&self) -> [usize; 4] { + let (w, h) = self.size; + let (x, y, cw, ch) = self.crop; + let [l, r, t, b] = self.bands.map(Band::total); + [l.saturating_sub(x), (x + cw).saturating_sub(w - r.min(w)), t.saturating_sub(y), (y + ch).saturating_sub(h - b.min(h))] + } +} + +/// What the decoder's crop holds outside the camera's JPEG frame, per side (left, right, top, bottom): lines that are +/// masked (flat above black: a coloured bar), dark (empty or optical black: a dark edge) or picture (trimmed by the +/// camera, harmless). +#[derive(Clone, Copy, Default)] +struct Beyond { + masked: usize, + dark: usize, + picture: usize, +} + +fn main() { + let args: Vec = std::env::args().skip(1).collect(); + let json = args.iter().any(|a| a == "--json"); + let files: Vec<&String> = args.iter().filter(|a| *a != "--json").collect(); + if files.is_empty() { + eprintln!("usage: raw_frame [--json] FILE… (raw files whose largest embedded JPEG is the camera's full-size one)"); + std::process::exit(2); + } + // model, data size, JPEG size -> (bit depth, frame) of each file + let mut groups: BTreeMap<(String, (usize, usize), (usize, usize)), Vec<(u32, Frame)>> = BTreeMap::new(); + for f in files { + let m = match measure(f) { + Ok(m) => m, + Err(e) => { + if json { + println!("{}", serde_json::json!({ "file": f, "error": e })); + } else { + println!("{f}: skipped: {e}"); + } + continue; + } + }; + let in_crop = m.in_crop(); + if json { + let band = |b: Band| serde_json::json!({ "dark": b.dark, "masked": b.masked }); + let frame = match &m.frame { + Ok(fr) => serde_json::json!({ + "jpeg": [fr.jpeg.0, fr.jpeg.1], "at": [fr.at.0, fr.at.1], "score": fr.score, "margin": fr.margin, "clean": fr.clean() + }), + Err(e) => serde_json::json!({ "error": e }), + }; + println!( + "{}", + serde_json::json!({ + "file": f, "model": m.model, "size": [m.size.0, m.size.1], "bits": m.bits, "black": m.black, "white": m.white, + "crop": [m.crop.0, m.crop.1, m.crop.2, m.crop.3], + "bands": { "left": band(m.bands[0]), "right": band(m.bands[1]), "top": band(m.bands[2]), "bottom": band(m.bands[3]) }, + "in_crop": { "left": in_crop[0], "right": in_crop[1], "top": in_crop[2], "bottom": in_crop[3] }, + "beyond_frame": m.beyond.map(|b| { + let side = |b: Beyond| serde_json::json!({ "masked": b.masked, "dark": b.dark, "picture": b.picture }); + serde_json::json!({ "left": side(b[0]), "right": side(b[1]), "top": side(b[2]), "bottom": side(b[3]) }) + }), + "frame": frame, + }) + ); + } else { + let frame = match &m.frame { + Ok(fr) => format!( + "JPEG {}×{} at ({:.2}, {:.2}), score {:.3}, margin {:.3}{}", + fr.jpeg.0, + fr.jpeg.1, + fr.at.0, + fr.at.1, + fr.score, + fr.margin, + if fr.clean() { "" } else { " (not clean: weak, ambiguous or between pixels)" } + ), + Err(e) => format!("no frame: {e}"), + }; + println!("{f}: {} {}×{} {}-bit, {frame}", m.model, m.size.0, m.size.1, m.bits); + let side = |name: &str, b: Band| match (b.dark, b.masked) { + (0, 0) => None, + (d, 0) => Some(format!("{name} {d} dark")), + (0, k) => Some(format!("{name} {k} masked")), + (d, k) => Some(format!("{name} {d} dark + {k} masked")), + }; + let bands: Vec = ["left", "right", "top", "bottom"].iter().zip(m.bands).filter_map(|(n, b)| side(n, b)).collect(); + let shown: Vec = + ["left", "right", "top", "bottom"].iter().zip(in_crop).filter(|(_, n)| *n > 0).map(|(s, n)| format!("{s} {n}")).collect(); + println!( + " edge bands: {}; decoder crop ({}, {}, {}, {}){}", + if bands.is_empty() { "none".to_string() } else { bands.join(", ") }, + m.crop.0, + m.crop.1, + m.crop.2, + m.crop.3, + match m.beyond { + Some(b) => { + let parts: Vec = ["left", "right", "top", "bottom"] + .iter() + .zip(b) + .filter(|(_, b)| b.masked + b.dark + b.picture > 0) + .map(|(s, b)| format!("{s} {} masked / {} dark / {} picture", b.masked, b.dark, b.picture)) + .collect(); + if parts.is_empty() { + "; nothing beyond the camera frame".to_string() + } else { + format!("; beyond the camera frame: {}", parts.join(", ")) + } + } + None if shown.is_empty() => String::new(), + None => format!(" still includes edge bands: {} lines", shown.join(", ")), + } + ); + } + if let Ok(fr) = m.frame { + groups.entry((m.model.clone(), m.size, fr.jpeg)).or_default().push((m.bits, fr)); + } + } + if json { + return; + } + println!(); + // each group's agreed frame: (model, data size, JPEG size) -> (offset, clean files), when its clean files agree + let agreed: BTreeMap<&(String, (usize, usize), (usize, usize)), ((usize, usize), usize)> = groups + .iter() + .filter_map(|(key, frames)| { + let offsets: Vec<(usize, usize)> = frames.iter().filter(|(_, f)| f.clean()).map(|(_, f)| f.whole()).collect(); + let first = *offsets.first()?; + offsets.iter().all(|o| *o == first).then_some((key, (first, offsets.len()))) + }) + .collect(); + for (key, frames) in &groups { + let (model, size, jpeg) = key; + let clean = frames.iter().filter(|(_, f)| f.clean()).count(); + let mut depths: Vec = frames.iter().map(|(b, _)| *b).collect(); + depths.sort_unstable(); + depths.dedup(); + let label = format!("{model} {}×{}", size.0, size.1); + let Some(&((x, y), _)) = agreed.get(key) else { + if clean == 0 { + println!("{label}: no clean alignment in {} files; no entry", frames.len()); + } else { + let offsets: Vec<(usize, usize)> = frames.iter().filter(|(_, f)| f.clean()).map(|(_, f)| f.whole()).collect(); + println!("{label}: files disagree: {offsets:?}; no entry"); + } + continue; + }; + let note = if clean < frames.len() { format!(", {} not clean", frames.len() - clean) } else { String::new() }; + println!("{label}: {clean} of {} files agree on ({x}, {y}){note}", frames.len()); + // siblings: other models whose sensor readout matches (same data and JPEG size) and whose own files agree on + // the same frame + let siblings: Vec<(&str, usize)> = agreed + .iter() + .filter(|((m, s, j), (o, _))| m != model && s == size && j == jpeg && *o == (x, y)) + .map(|((m, _, _), (_, n))| (m.as_str(), *n)) + .collect(); + let pooled = clean + siblings.iter().map(|(_, n)| n).sum::(); + if clean < MIN_FILES { + if pooled < MIN_FILES { + println!(" pending: {} more clean file(s) needed for an entry", MIN_FILES - pooled); + continue; + } + let names: Vec = siblings.iter().map(|(m, n)| format!("{m} ({n})")).collect(); + println!(" with siblings of the same readout and frame: {}", names.join(", ")); + } + for bits in depths { + println!( + " MeasuredBody {{ model: {model:?}, size: ({}, {}), bits: {bits}, crop: ({x}, {y}, {}, {}), white: None }},", + size.0, size.1, jpeg.0, jpeg.1 + ); + } + } +} + +fn measure(path: &str) -> Result { + let bytes = std::fs::read(path).map_err(|e| e.to_string())?; + let raw = lightcraft_raw::decode(&bytes).map_err(|e| e.to_string())?; + let RawData::U16(d) = &raw.data else { return Err("not 16-bit integer sensor data".into()) }; + if raw.cpp != 1 || raw.cfa.is_none() { + return Err("not colour-filter sensor data".into()); + } + let (w, h) = (raw.width, raw.height); + if w < 4 || h < 4 || d.len() < w.saturating_mul(h) { + return Err("sensor data shorter than its size".into()); + } + let black = f64::from(raw.black.values.iter().sum::() / raw.black.values.len().max(1) as f32).max(0.0); + let white = f64::from(raw.white.first().copied().unwrap_or(((1u32 << raw.bits.min(16)) - 1) as f32)).max(black + 1.0); + let at = |x: usize, y: usize| f64::from(d.get(y * w + x).copied().unwrap_or(0)); + let bands = [ + band((0..w.min(MAX_BAND)).map(|x| line(h, |i| at(x, i))), black, white), + band((0..w.min(MAX_BAND)).map(|k| line(h, |i| at(w - 1 - k, i))), black, white), + band((0..h.min(MAX_BAND)).map(|y| line(w, |i| at(i, y))), black, white), + band((0..h.min(MAX_BAND)).map(|k| line(w, |i| at(i, h - 1 - k))), black, white), + ]; + // the decoder's crop is relative to the active area: in sensor-data coordinates here + let a = raw.active_area; + let c = lightcraft_raw::Rect::new(a.x + raw.crop.x, a.y + raw.crop.y, raw.crop.width, raw.crop.height); + let frame = frame(&bytes, d, w, h); + let beyond = frame.as_ref().ok().filter(|f| f.clean()).map(|f| { + let ((fx, fy), (fw, fh)) = (f.whole(), f.jpeg); + let kinds = |lines: Vec| { + lines.iter().fold(Beyond::default(), |mut b, l| { + match kind(l, black, white) { + Kind::Dark => b.dark += 1, + Kind::Masked => b.masked += 1, + Kind::Picture => b.picture += 1, + } + b + }) + }; + let col = |x: usize| line(h, |i| at(x, i)); + let row = |y: usize| line(w, |i| at(i, y)); + [ + kinds((c.x..fx.min(c.x + c.width)).map(col).collect()), + kinds(((fx + fw).max(c.x)..c.x + c.width).map(col).collect()), + kinds((c.y..fy.min(c.y + c.height)).map(row).collect()), + kinds(((fy + fh).max(c.y)..c.y + c.height).map(row).collect()), + ] + }); + Ok(Measured { + model: raw.metadata.model.clone().unwrap_or_default().trim().to_string(), + size: (w, h), + bits: raw.bits, + black, + white, + crop: (c.x, c.y, c.width, c.height), + bands, + frame, + beyond, + }) +} + +/// Statistics of one line of sensor samples: mean, |even − odd| mean, spread, neighbour noise (same colour, 2 apart) +/// and the number of sample pairs. +struct Line { + mean: f64, + pattern: f64, + spread: f64, + noise: f64, + pairs: f64, +} + +fn line(n: usize, at: impl Fn(usize) -> f64) -> Line { + let stride = ((n / 512).max(1)).div_ceil(2) * 2; + let (mut k, mut even, mut odd, mut var, mut noise) = (0f64, 0f64, 0f64, 0f64, 0f64); + let idx: Vec = (0..n.saturating_sub(2)).step_by(stride).collect(); + for &i in &idx { + even += at(i); + odd += at(i + 1); + k += 1.0; + } + let (even, odd) = (even / k.max(1.0), odd / k.max(1.0)); + for &i in &idx { + var += (at(i) - even).powi(2); + noise += (at(i + 2) - at(i)).powi(2) / 2.0; + } + Line { mean: (even + odd) / 2.0, pattern: (even - odd).abs(), spread: (var / k.max(1.0)).sqrt(), noise: (noise / k.max(1.0)).sqrt(), pairs: k } +} + +enum Kind { + Dark, + Masked, + Picture, +} + +fn kind(l: &Line, black: f64, white: f64) -> Kind { + let range = white - black; + let slack = white / 4096.0; + if l.mean < black + range * 0.01 { + Kind::Dark + } else if l.mean > black + range * 0.02 + && l.mean < white * 0.25 + && l.pattern < 4.0 * l.noise * (2.0 / l.pairs.max(1.0)).sqrt() + slack + && l.spread < 1.5 * l.noise + slack + && l.spread < white * 0.004 + { + Kind::Masked + } else { + Kind::Picture + } +} + +fn band(lines: impl Iterator, black: f64, white: f64) -> Band { + let mut b = Band::default(); + for l in lines { + match kind(&l, black, white) { + Kind::Dark => b.dark += 1, + Kind::Masked => b.masked += 1, + Kind::Picture => break, + } + } + b +} + +fn frame(bytes: &[u8], d: &[u16], w: usize, h: usize) -> Result { + let jpeg = lightcraft_raw::embedded_preview(bytes).ok_or("no embedded preview")?; + let jpeg = lightcraft_codecs::decode(&jpeg, DecodeOptions::default()).map_err(|e| e.to_string())?; + let (jw, jh) = (jpeg.image.width, jpeg.image.height); + if jw > w || jh > h || jw * 10 < w * 9 || jh * 10 < h * 9 { + return Err(format!("the largest preview ({jw}×{jh}) is not a full-size JPEG of the {w}×{h} data")); + } + // half-size luminance, square-rooted so the linear raw and the JPEG weigh their tones alike + let (rw, rh) = (w / 2, h / 2); + let raw_y: Vec = (0..rh * rw) + .map(|i| { + let (x, y) = (2 * (i % rw), 2 * (i / rw)); + let s: f64 = + [(x, y), (x + 1, y), (x, y + 1), (x + 1, y + 1)].iter().map(|&(x, y)| f64::from(d.get(y * w + x).copied().unwrap_or(0))).sum(); + s.sqrt() + }) + .collect(); + let (pw, ph) = (jw / 2, jh / 2); + let px = &jpeg.image.data; + let jpg_y: Vec = (0..ph * pw) + .map(|i| { + let (x, y) = (2 * (i % pw), 2 * (i / pw)); + let s: f64 = [(x, y), (x + 1, y), (x, y + 1), (x + 1, y + 1)] + .iter() + .map(|&(x, y)| px.get(y * jw + x).map_or(0.0, |p| f64::from(0.2126 * p[0] + 0.7152 * p[1] + 0.0722 * p[2]).max(0.0))) + .sum(); + s.sqrt() + }) + .collect(); + let (sx, sy) = ((rw - pw).min(MAX_SEARCH), (rh - ph).min(MAX_SEARCH)); + let grad = |img: &[f64], stride: usize, x: usize, y: usize| { + let at = |x: usize, y: usize| img.get(y * stride + x).copied().unwrap_or(0.0); + (at(x + 1, y) - at(x, y)).hypot(at(x, y + 1) - at(x, y)) + }; + let normalise = |v: Vec| { + let n = v.len().max(1) as f64; + let mean = v.iter().sum::() / n; + let sd = (v.iter().map(|a| (a - mean).powi(2)).sum::() / n).sqrt().max(1e-12); + v.into_iter().map(|a| (a - mean) / sd).collect::>() + }; + // gradient magnitudes on every `step`-th half-size pixel, normalised, and the correlation at one offset + let sample = |step: usize| { + let points: Vec<(usize, usize)> = + (0..ph.saturating_sub(1)).step_by(step).flat_map(|y| (0..pw.saturating_sub(1)).step_by(step).map(move |x| (x, y))).collect(); + let gj = normalise(points.iter().map(|&(x, y)| grad(&jpg_y, pw, x, y)).collect()); + (points, gj) + }; + let score = |(points, gj): &(Vec<(usize, usize)>, Vec), dx: usize, dy: usize| { + let gr = normalise(points.iter().map(|&(x, y)| grad(&raw_y, rw, x + dx, y + dy)).collect()); + gr.iter().zip(gj).map(|(a, b)| a * b).sum::() / gj.len().max(1) as f64 + }; + let fine = sample(2); + // every offset when the window is small (every Nikon body); else every 4th on sparser points, then each offset + // around the best of those + let mut scores = vec![vec![f64::NEG_INFINITY; sx + 1]; sy + 1]; + let mut coarse_best = f64::NEG_INFINITY; + let (mut cx, mut cy) = (0, 0); + let window = if (sx + 1) * (sy + 1) <= FULL_SEARCH { + (0..=sx, 0..=sy) + } else { + let coarse = sample(8); + for dy in (0..=sy).step_by(4) { + for dx in (0..=sx).step_by(4) { + let v = score(&coarse, dx, dy); + if let Some(s) = scores.get_mut(dy).and_then(|r| r.get_mut(dx)) { + *s = v; + } + if v > coarse_best { + (coarse_best, cx, cy) = (v, dx, dy); + } + } + } + (cx.saturating_sub(5)..=(cx + 5).min(sx), cy.saturating_sub(5)..=(cy + 5).min(sy)) + }; + for dy in window.1.clone() { + for dx in window.0.clone() { + if let Some(s) = scores.get_mut(dy).and_then(|r| r.get_mut(dx)) { + *s = score(&fine, dx, dy); + } + } + } + let at = |dx: usize, dy: usize| scores.get(dy).and_then(|r| r.get(dx)).copied().unwrap_or(f64::NEG_INFINITY); + let (mut bx, mut by) = (0, 0); + for dy in 0..=sy { + for dx in 0..=sx { + if at(dx, dy) > at(bx, by) { + (bx, by) = (dx, dy); + } + } + } + let best = at(bx, by); + let runner_up = (0..=sy) + .flat_map(|dy| (0..=sx).map(move |dx| (dx, dy))) + .filter(|&(dx, dy)| dx.abs_diff(bx) > 1 || dy.abs_diff(by) > 1) + .map(|(dx, dy)| at(dx, dy)) + .fold(f64::NEG_INFINITY, f64::max); + // parabola through the peak and its neighbours (none at the window's edge) + let refine = |a: f64, b: f64, c: f64| { + let k = a - 2.0 * b + c; + if a.is_finite() && c.is_finite() && k < 0.0 { (0.5 * (a - c) / k).clamp(-0.5, 0.5) } else { 0.0 } + }; + let fx = if bx > 0 { refine(at(bx - 1, by), best, at(bx + 1, by)) } else { 0.0 }; + let fy = if by > 0 { refine(at(bx, by - 1), best, at(bx, by + 1)) } else { 0.0 }; + Ok(Frame { + jpeg: (jw, jh), + at: (2.0 * (bx as f64 + fx), 2.0 * (by as f64 + fy)), + score: best, + margin: if runner_up.is_finite() { best - runner_up } else { best }, + }) +} diff --git a/crates/raw/src/vendor/nef.rs b/crates/raw/src/vendor/nef.rs index cacb516af..97e526df9 100644 --- a/crates/raw/src/vendor/nef.rs +++ b/crates/raw/src/vendor/nef.rs @@ -58,7 +58,8 @@ fn default_crop(mn: Option<&makernote::MakerNote>, w: usize, h: usize) -> Rect { } /// A body that records no CropArea, measured on its own files: the image area inside the sensor data (where the -/// camera's full-size JPEG sits when the two are aligned) and the level where its channels clip. +/// camera's full-size JPEG sits when the two are aligned) and, when the data's own top is wrong, the level where its +/// channels clip. struct MeasuredBody { model: &'static str, /// Sensor data size and sample depth of the measured files. @@ -66,7 +67,7 @@ struct MeasuredBody { bits: u32, /// Image area in sensor pixels: x, y, width, height. crop: (usize, usize, usize, usize), - white: f32, + white: Option, } /// * **NIKON D4** (148 uncompressed 14-bit NEFs from one body, 2023–2026, ISO 100–10000): the data is 4992 × 3292, @@ -74,8 +75,66 @@ struct MeasuredBody { /// 4928 × 3280 JPEG sits at (8, 6). Without this area the optical black shows as purple stripes on both sides. /// Green saturates at 15546–15672 while red and blue run on to 15687–16383, so the data's own top (~16300) leaves /// clipped highlights magenta; one level of 15520 for every channel turns them white and keeps the white balance. -const MEASURED_BODIES: &[MeasuredBody] = - &[MeasuredBody { model: "NIKON D4", size: (4992, 3292), bits: 14, crop: (8, 6, 4928, 3280), white: 15520.0 }]; +/// * **NIKON D7000** and **NIKON D5100** (and the Coolpix A, the same readout): the data is 4992 × 3280, the picture its +/// first 4948 columns, then 36 masked ones at one level (~600, with a black level of 0) and 8 of 0. The masked +/// columns sit above the dark-column trim's threshold, so without this area they show as a coloured bar on the right +/// edge (the top in portrait; issue #976). The camera's 4928 × 3264 JPEG sits at (8, 8): in the D5100's 3 CC0 +/// samples, and in the D7000's one clean one, with the D5100 and Coolpix A as siblings (see below). +/// * **The other bodies** below keep masked or dark lines inside the whole data (the survey in `docs/nikon-bodies.md`): +/// each crop is its camera JPEG's frame as `cargo xtask raw-frame` measures it on raw.pixls.us CC0 samples, with at +/// least 3 clean files agreeing: of the model (bit depths pooled: both read out the same area), or, with at least +/// one of its own, together with models of the same readout (data and JPEG size) that agree on the same frame +/// (*siblings*). The D4's 12-bit mode reads out the 14-bit area measured above; the Df, the same readout, agrees on +/// (8, 6) in 6 files. Bodies whose crop holds only picture beyond the camera frame have no entry (no change). +const MEASURED_BODIES: &[MeasuredBody] = &[ + MeasuredBody { model: "NIKON D4", size: (4992, 3292), bits: 14, crop: (8, 6, 4928, 3280), white: Some(15520.0) }, + MeasuredBody { model: "NIKON D4", size: (4992, 3292), bits: 12, crop: (8, 6, 4928, 3280), white: None }, + MeasuredBody { model: "NIKON D7000", size: (4992, 3280), bits: 14, crop: (8, 8, 4928, 3264), white: None }, + MeasuredBody { model: "NIKON D7000", size: (4992, 3280), bits: 12, crop: (8, 8, 4928, 3264), white: None }, + MeasuredBody { model: "NIKON D5100", size: (4992, 3280), bits: 14, crop: (8, 8, 4928, 3264), white: None }, + // siblings: D7000 (4), D5100 (3); masked: right 36 + MeasuredBody { model: "COOLPIX A", size: (4992, 3280), bits: 14, crop: (8, 8, 4928, 3264), white: None }, + // 6 files each; masked: left 2, right 2 + MeasuredBody { model: "NIKON D3", size: (4288, 2844), bits: 12, crop: (15, 6, 4256, 2832), white: None }, + MeasuredBody { model: "NIKON D3", size: (4288, 2844), bits: 14, crop: (15, 6, 4256, 2832), white: None }, + MeasuredBody { model: "NIKON D3S", size: (4288, 2844), bits: 12, crop: (15, 6, 4256, 2832), white: None }, + MeasuredBody { model: "NIKON D3S", size: (4288, 2844), bits: 14, crop: (15, 6, 4256, 2832), white: None }, + MeasuredBody { model: "NIKON D700", size: (4288, 2844), bits: 12, crop: (15, 6, 4256, 2832), white: None }, + MeasuredBody { model: "NIKON D700", size: (4288, 2844), bits: 14, crop: (15, 6, 4256, 2832), white: None }, + // 6 and 4 files; masked: right up to 32 + MeasuredBody { model: "NIKON D300", size: (4352, 2868), bits: 12, crop: (15, 10, 4288, 2848), white: None }, + MeasuredBody { model: "NIKON D300", size: (4352, 2868), bits: 14, crop: (15, 10, 4288, 2848), white: None }, + MeasuredBody { model: "NIKON D300S", size: (4352, 2868), bits: 12, crop: (15, 10, 4288, 2848), white: None }, + MeasuredBody { model: "NIKON D300S", size: (4352, 2868), bits: 14, crop: (15, 10, 4288, 2848), white: None }, + // D2X (1) and D2Xs (2) as siblings; dark: right 1 + MeasuredBody { model: "NIKON D2Xs", size: (4320, 2868), bits: 12, crop: (16, 10, 4288, 2848), white: None }, + // D3000, D40X, D60, D80: one file each, siblings; masked: right 4, bottom 3 + MeasuredBody { model: "NIKON D3000", size: (3904, 2616), bits: 12, crop: (14, 9, 3872, 2592), white: None }, + MeasuredBody { model: "NIKON D40X", size: (3904, 2616), bits: 12, crop: (14, 9, 3872, 2592), white: None }, + MeasuredBody { model: "NIKON D60", size: (3904, 2616), bits: 12, crop: (14, 9, 3872, 2592), white: None }, + MeasuredBody { model: "NIKON D80", size: (3904, 2616), bits: 12, crop: (14, 9, 3872, 2592), white: None }, + // 3 files; dark: bottom 4 + MeasuredBody { model: "NIKON D4S", size: (4936, 3288), bits: 12, crop: (4, 4, 4928, 3280), white: None }, + MeasuredBody { model: "NIKON D4S", size: (4936, 3288), bits: 14, crop: (4, 4, 4928, 3280), white: None }, + // 4 files; dark: bottom up to 4 + MeasuredBody { model: "NIKON D5600", size: (6016, 4016), bits: 12, crop: (8, 8, 6000, 4000), white: None }, + MeasuredBody { model: "NIKON D5600", size: (6016, 4016), bits: 14, crop: (8, 8, 6000, 4000), white: None }, + // 4 files each; masked: right 8 + MeasuredBody { model: "NIKON D600", size: (6080, 4028), bits: 12, crop: (8, 6, 6016, 4016), white: None }, + MeasuredBody { model: "NIKON D600", size: (6080, 4028), bits: 14, crop: (8, 6, 6016, 4016), white: None }, + MeasuredBody { model: "NIKON D610", size: (6080, 4028), bits: 12, crop: (8, 6, 6016, 4016), white: None }, + MeasuredBody { model: "NIKON D610", size: (6080, 4028), bits: 14, crop: (8, 6, 6016, 4016), white: None }, + // D800: 6 files; D800E: 2, with the D800 as sibling; masked: right 14 (issue #914, the top in portrait) + MeasuredBody { model: "NIKON D800", size: (7424, 4924), bits: 12, crop: (8, 6, 7360, 4912), white: None }, + MeasuredBody { model: "NIKON D800", size: (7424, 4924), bits: 14, crop: (8, 6, 7360, 4912), white: None }, + MeasuredBody { model: "NIKON D800E", size: (7424, 4924), bits: 14, crop: (8, 6, 7360, 4912), white: None }, + // 3 files; dark: bottom 1 + MeasuredBody { model: "NIKON D810", size: (7380, 4928), bits: 12, crop: (12, 8, 7360, 4912), white: None }, + MeasuredBody { model: "NIKON D810", size: (7380, 4928), bits: 14, crop: (12, 8, 7360, 4912), white: None }, + // 6 files; masked: left 2, right 42 (the D4's readout) + MeasuredBody { model: "NIKON Df", size: (4992, 3292), bits: 12, crop: (8, 6, 4928, 3280), white: None }, + MeasuredBody { model: "NIKON Df", size: (4992, 3292), bits: 14, crop: (8, 6, 4928, 3280), white: None }, +]; fn measured_body(model: &str, w: usize, h: usize, bits: u32) -> Option<&'static MeasuredBody> { MEASURED_BODIES.iter().find(|b| b.model == model.trim() && b.size == (w, h) && b.bits == bits) @@ -165,9 +224,9 @@ pub(crate) fn decode(bytes: &[u8], mode: Mode) -> Result { // the white level is measured from the whole image (or known for a measured body); the probe (no samples in its // result) takes the nominal one let white = match (body, mode) { - (Some(b), _) => b.white, - (None, Mode::Full) => white_from_data(samples, bits), - (None, Mode::Header) => ((1u32 << bits.clamp(1, 16)) - 1) as f32, + (Some(&MeasuredBody { white: Some(white), .. }), _) => white, + (_, Mode::Full) => white_from_data(samples, bits), + (_, Mode::Header) => ((1u32 << bits.clamp(1, 16)) - 1) as f32, }; let crop = match body { Some(&MeasuredBody { crop: (x, y, cw, ch), .. }) if x + cw <= active_w && y + ch <= h => Rect::new(x, y, cw, ch), @@ -275,6 +334,22 @@ mod tests { /// [`nef_with_note`] in either byte order (file and maker note). #[allow(clippy::too_many_arguments)] fn nef_in(order: ByteOrder, compression: u16, bits: u16, strips: Vec>, w: u32, h: u32, rps: u32, note: Option) -> Vec { + nef_model_in(order, "NIKON TEST", compression, bits, strips, w, h, rps, note) + } + + /// [`nef_in`] from camera `model`. + #[allow(clippy::too_many_arguments)] + fn nef_model_in( + order: ByteOrder, + model: &str, + compression: u16, + bits: u16, + strips: Vec>, + w: u32, + h: u32, + rps: u32, + note: Option, + ) -> Vec { let mut raw = IfdBuilder::new(); raw.set(t::NEW_SUBFILE_TYPE, Value::Long(vec![0])); raw.set(t::IMAGE_WIDTH, Value::Long(vec![w])); @@ -287,7 +362,7 @@ mod tests { raw.set_image(ImageData::Strips { rows_per_strip: rps, strips }); let mut ifd0 = IfdBuilder::new(); ifd0.set(t::MAKE, Value::Ascii("NIKON CORPORATION".into())); - ifd0.set(t::MODEL, Value::Ascii("NIKON TEST".into())); + ifd0.set(t::MODEL, Value::Ascii(model.into())); if let Some(mn) = note { let mut bytes = b"Nikon\0\x02\x10\0\0".to_vec(); bytes.extend(TiffWriter::new(order, false).write(&[mn]).unwrap()); @@ -392,9 +467,49 @@ mod tests { assert_eq!((d4.metadata.width, d4.metadata.height), (Some(4928), Some(3280))); let developed = d4.develop(crate::Method::Bilinear).unwrap(); assert_eq!((developed.width, developed.height), (4928, 3280)); - for other in [decode_as("NIKON D5", 14), decode_as("NIKON D4", 12)] { - assert_eq!(other.crop, Rect::new(0, 0, w, h)); - assert_ne!(other.white, vec![15520.0]); + // the 12-bit mode reads out the same area but keeps the white level from its data + let d4_12 = decode_as("NIKON D4", 12); + assert_eq!(d4_12.crop, Rect::new(8, 6, 4928, 3280)); + assert_ne!(d4_12.white, vec![15520.0]); + let other = decode_as("NIKON D5", 14); + assert_eq!(other.crop, Rect::new(0, 0, w, h)); + assert_ne!(other.white, vec![15520.0]); + } + + /// Issue #976: the D7000 and D5100 record no CropArea, and their 36 masked columns at ~600 were developed as a + /// coloured bar. Their measured area applies to the measured models, data sizes and depths only. + #[test] + fn measured_d7000_and_d5100_image_area() { + let (w, h) = (4992usize, 3280usize); + let decode_as = |model: &str, bits: u16| { + let nef = nef_model_in(ByteOrder::Big, model, 1, bits, vec![vec![0x10; w * h * 2]], w as u32, h as u32, h as u32, None); + crate::decode(&nef).unwrap() + }; + for (model, bits) in [("NIKON D7000", 14), ("NIKON D7000", 12), ("NIKON D5100", 14)] { + let raw = decode_as(model, bits); + assert_eq!(raw.crop, Rect::new(8, 8, 4928, 3264), "{model} {bits}-bit"); + assert_eq!((raw.metadata.width, raw.metadata.height), (Some(4928), Some(3264))); + let developed = raw.develop(crate::Method::Bilinear).unwrap(); + assert_eq!((developed.width, developed.height), (4928, 3264)); + } + // another model, or the D5100's unmeasured 12-bit mode, keeps the whole data + for (model, bits) in [("NIKON D7100", 14), ("NIKON D5100", 12), ("NIKON D7000 ", 16)] { + assert_eq!(decode_as(model, bits).crop, Rect::new(0, 0, w, h), "{model} {bits}-bit"); + } + } + + /// Every measured entry is a crop inside its data, once per model, data size and depth, with a white level (if + /// any) inside its bit range. + #[test] + fn measured_bodies_are_consistent() { + let mut seen = std::collections::HashSet::new(); + for b in MEASURED_BODIES { + let (x, y, w, h) = b.crop; + assert!(w > 0 && h > 0 && x + w <= b.size.0 && y + h <= b.size.1, "{}: crop outside its data", b.model); + assert!(seen.insert((b.model, b.size, b.bits)), "{} {:?} {}-bit listed twice", b.model, b.size, b.bits); + assert!(matches!(b.bits, 12 | 14), "{}: {}-bit", b.model, b.bits); + assert!(b.white.is_none_or(|v| v > 0.0 && v < (1u32 << b.bits) as f32), "{}: white level", b.model); + assert_eq!(b.model.trim(), b.model, "{}: model names are matched trimmed", b.model); } } diff --git a/docs/gaps.md b/docs/gaps.md index 7c4f56223..edfc3f895 100644 --- a/docs/gaps.md +++ b/docs/gaps.md @@ -1,6 +1,6 @@ # Gaps: where LightCraft falls short of Lightroom -> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-10-11 · **Change:** minor (CR3 entry names the EOS R7 C-RAW fix and the refused CRX variants; CI and Windows / Linux entries note the 0.6.0 riscv64 build; camera colour: tone curve from black-and-white camera JPEGs; Compare and Reference get sharp zoom windows; gap 4 shrinks; gap 14: the HDR switch is read from crs XMP; gaps 2 and 10: EOS R5 Mark II CR3 verified) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 +> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-10-11 · **Change:** minor (Nikon edge bars on bodies without CropArea fixed, #976 / #914; gap 10 notes the survey) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 Every known shortfall, one entry each, ranked by user impact (how many Lightroom users hit it, and how hard it blocks them), then by effort. **Agents pick work from the top** (the first entry nobody is @@ -24,7 +24,7 @@ Hours are Opus 5.5 agent wall-clock hours (see [target-app-parity.md](target-app | 7 | **Nikon High Efficiency NEF** (HE / HE★ on Z 8, Z 9, Z 6III, Z f, Z50II, Z5II when set to HE) | named and preview only (#193); needs a pure-Rust JPEG XS decoder | +1.1 points (only shots taken in HE; lossless works on the same bodies); low gain per hour (~0.04), so not a beta blocker | 20–40 | [raw-parity](raw-parity.md) | | 8 B | **No lens profile database** (LR-EDIT-OPTICS-PROFILE): only DNG opcodes, RW2 in-file distortion and Sony ILCE-7RM4A distortion | Adobe ships 3,635 lens profiles; we never use them | distortion / vignetting correction is a default step for many | 40–80 + calibration shots | [raw-parity](raw-parity.md#lens-profiles) | | 9 B | **Tests don't run in CI on macOS, Windows or Linux x64**: only FreeBSD runs `cargo test`; the others build packages | `.github/workflows/` (freebsd, packaging-lint, release, windows-arm64); the linux-riscv64 release job added in 0.6.0 (#844) runs only `lightcraft-cli --version` under QEMU | regressions reach users on the main platforms; `cargo xtask ci` runs only locally | 6–12 | [target-app-parity](target-app-parity.md#by-dimension) | -| 10 B | **Per-model verification thin, plus cheap per-body decode fixes**: 235 of 1,446 Adobe models verified (16%), ~42% of photographers on a verified body; Nikon 5 bodies verified, Canon 12. Cheap fixes: Z 6II packed 14-bit NEF (#769, PR #671), Sony A100 / F828 regression (#702), DSLR-A200…A390 / A850 12-bit ARW (#535) | measured: [raw/coverage.tsv](raw/coverage.tsv) | per-body bugs (levels, crops, WB) surface only from users | 25–45 | [raw-parity](raw-parity.md#by-maker-measured) | +| 10 B | **Per-model verification thin, plus cheap per-body decode fixes**: 235 of 1,446 Adobe models verified (16%), ~42% of photographers on a verified body; Nikon 5 bodies verified, Canon 12. Cheap fixes: Z 6II packed 14-bit NEF (#769, PR #671), Sony A100 / F828 regression (#702), DSLR-A200…A390 / A850 12-bit ARW (#535) | measured: [raw/coverage.tsv](raw/coverage.tsv) | per-body bugs (levels, crops, WB) surface only from users; Nikon crops of bodies without CropArea now surveyed and measured ([nikon-bodies.md](nikon-bodies.md), D3200 / D3100 / D200 / D50 / Nikon 1 V1, V2 pending samples) | 25–45 | [raw-parity](raw-parity.md#by-maker-measured) | | 11 | **Enhance: Raw Details, Super Resolution; AI denoise without shippable weights or X-Trans** | ENH rows 0%; denoise Bayer only, RawNIND weights GPL and opt-in | Fujifilm users get no AI denoise; nobody gets it out of the box | 30–60 + model decision | [raw-parity](raw-parity.md#demosaic-levels-crops-and-lens-metadata) | | 12 | **Content-aware / generative remove, detect distractions, reflections removal** | REM rows 75%; patch synthesis missing | cleanup work goes back to Photoshop | 25–45 (+ generative model) | [target-app-parity](target-app-parity.md#ai) | | 13 | **Lightroom catalog migration is one-way and approximate**: unsupported Adobe profiles / AI settings archived, history kept as data | lightroom-catalog-import.md | switching users lose some looks | 8–12 | [file-format-parity](file-format-parity.md) | @@ -59,6 +59,7 @@ Beta-blocking gaps (B) total **~230–430 h**; with the stability and platform w ## Closed recently (kept for calibration) +- 2026-10-11: Nikon edge bars on bodies without CropArea (#976, #914): 36 model / size / depth groups measured. - 2026-10-10: Nikon lossy-after-split NEF (#633), ORF 12.8 bpp (#651), HDR gain map / PQ AVIF / float TIFF export (#646), activity stack (#345), JPEG XL export (#247). - 2026-10-09: EOS R7 C-RAW with an odd-height QP map (a45c2b66; part of gap 2), HEIC in release builds (#609), Samsung uncompressed SRW (#459), contact-sheet PDF (#563), @@ -72,6 +73,7 @@ Beta-blocking gaps (B) total **~230–430 h**; with the stability and platform w | Date | Change | Summary | |---|---|---| +| 2026-10-11 | minor | Nikon edge bars on bodies without CropArea fixed for 36 model / size / depth groups (#976, #914; [nikon-bodies.md](nikon-bodies.md)); gap 10 notes the survey and the pending bodies; gap not closed | | 2026-10-11 | minor | Reviewed against main after 0.6.0: CR3 entry names the CRX variants `crx.rs` still refuses and the R7 / R6 Mark II C-RAW state (decoding, not verified, so the measured numbers don't move); CI and Windows / Linux entries note the riscv64 release build (#844); R7 fix added to Closed recently. Panel docking (UI.9, #869) closes no listed gap | | 2026-10-11 | minor | Camera colour entry: raws with a black-and-white camera JPEG take its tone curve (#577); gap not closed | | 2026-10-11 | minor | Gap 4: Compare and Reference views get zoom windows per pane (1:1 was a 2,560 px render magnified); overlays and soft proofing remain, 8–15 h → 4–8 h | diff --git a/docs/nikon-bodies.md b/docs/nikon-bodies.md new file mode 100644 index 000000000..c9309bb2d --- /dev/null +++ b/docs/nikon-bodies.md @@ -0,0 +1,247 @@ +# Nikon bodies: sensor data, image area and edge bands + +> **Last updated:** 2026-10-11 · **Change:** created (every Nikon raw on raw.pixls.us; 138 CC0 samples measured with `cargo xtask raw-frame`) · **Scope:** Nikon NEF / NRW + +Nikon raws hold more sensor data than the picture: a few lines of extra picture around the camera's own frame and, +on many bodies, optical black or masked lines that are not picture at all. Newer bodies record the picture's area in +the maker note (`CropArea`, 0x0045) and LightCraft crops to it. Older ones record nothing, so the decoder keeps the +whole data (less trailing dark columns), and masked lines inside it are developed as a coloured or dark bar on that +edge ([#976](https://github.com/storytold/lightcraft/issues/976), [#914](https://github.com/storytold/lightcraft/issues/914)). +Such a body gets an entry in `MEASURED_BODIES` (`crates/raw/src/vendor/nef.rs`): the frame of its camera JPEG inside +the data, applied only to that model, data size and sample depth. Bodies whose data holds only picture beyond the +camera frame get no entry and render as before. + +## Summary + +- **Record `CropArea`:** 22 models, 53 data sizes: handled. +- **Without `CropArea`:** 66 models in 88 groups (model, data size, depth), plus 7 groups without a CC0 sample: + - measured entry (cropped to the camera frame): 36 + - fine (only picture beyond the camera frame): 13 + - bar, pending more files: 3 + - dark lines, pending more files: 4 + - no clean alignment: 25 + - not decoded: 7 + +Status: ✅ **measured entry** · ✅ **fine** (a few extra pixels of picture) · ⚠️ **bar** (masked lines inside the crop: +a coloured or dark edge) · ❓ **check** (dark lines inside the crop: optical black, or shadow in that sample) · +❓ **unmeasured** (no clean alignment: a compact's JPEG is distortion-corrected, or the samples are soft or dark) · +**not decoded** (a raw variant LightCraft can't read yet). + +## Pending + +Bodies whose crop keeps lines without picture but that lack the evidence for an entry (see *Adding a body*). Each +needs more files with detail across the frame, from raw.pixls.us or contributed (any licence: only the measurement +is committed, never the file). + +| Model | Data | Bits | In the crop today | Needs | +|---|---|---:|---|---| +| NIKON 1 V1 | 3904 × 2606 | 12 | dark lines in crop (optical black or a dark sample): bottom 2 | 2 more clean file(s) | +| NIKON 1 V2 | 4620 × 3084 | 12 | dark lines in crop (optical black or a dark sample): bottom 3 | 1 more clean file(s) | +| NIKON D200 | 3904 × 2616 | 12 | masked lines in crop: left 1, right 1 | 1 more clean file(s) | +| NIKON D3100 | 4672 × 3084 | 12 | masked lines in crop: left 5, right 13 | 2 more clean file(s) | +| NIKON D3200 | 6080 × 4012 | 12 | masked lines in crop: right 45 | 2 more clean file(s) | +| NIKON D750 | 6032 × 4032 | 12 | dark lines in crop (optical black or a dark sample): left 8, right 8, top 8 | 1 more clean file(s) | +| NIKON D750 | 6032 × 4032 | 14 | dark lines in crop (optical black or a dark sample): left 4, right 8, top 8 | 1 more clean file(s) | +| NIKON D50 | 3040 × 2014 | 12 | masked lines at the edges: right 1 | files that align cleanly | + +## Bodies without `CropArea` + +One row per model, sensor data size and sample depth (each covers the compression modes listed). *Frame*: where the +camera's full-size JPEG sits in the data and how many measured files agree (bit depths pooled). *Files*: samples of +the group on raw.pixls.us. *Sample*: the first file measured, in `corpus/raw/nikon-inventory/`. + +| Model | Data | Bits | Files | Modes | Frame | Status | Notes | Sample | +|---|---|---:|---:|---|---|---|---|---| +| COOLPIX A | 4992 × 3280 | 14 | 1 | lossy 2 | (8, 8), 1 of 1 files | ✅ measured entry | crop (8, 8, 4928, 3264); siblings: NIKON D5100 (3), NIKON D7000 (1) | `coolpix-a-4992x3280-14bit.nef` | +| COOLPIX A1000 | 4608 × 3456 | 12 | 1 | uncompressed | unclear (4608×3456, score 0.21) | ❓ unmeasured | no masked edge lines found | `coolpix-a1000-4608x3456-12bit.nrw` | +| COOLPIX B700 | 5200 × 3902 | 12 | 1 | uncompressed | unclear (5184×3888, score 0.44) | ❓ unmeasured | no masked edge lines found | `coolpix-b700-5200x3902-12bit.nrw` | +| COOLPIX P1000 | 4624 × 3470 | 12 | 1 | uncompressed | unclear (4608×3456, score 0.30) | ❓ unmeasured | no masked edge lines found | `coolpix-p1000-4624x3470-12bit.nrw` | +| COOLPIX P1100 | 4624 × 3470 | 12 | 1 | uncompressed | unclear (4608×3456, score 0.20) | ❓ unmeasured | no masked edge lines found | `coolpix-p1100-4624x3470-12bit.nrw` | +| COOLPIX P330 | 4032 × 3024 | 12 | 1 | HE / other | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `coolpix-p330-4032x3024-12bit.nrw` | +| COOLPIX P7700 | 4032 × 3024 | 12 | 1 | HE / other | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `coolpix-p7700-4032x3024-12bit.nrw` | +| COOLPIX P7800 | 4032 × 3024 | 12 | 1 | HE / other | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `coolpix-p7800-4032x3024-12bit.nrw` | +| COOLPIX P950 | 4624 × 3470 | 12 | 1 | uncompressed | unclear (4608×3456, score 0.21) | ❓ unmeasured | no masked edge lines found | `coolpix-p950-4624x3470-12bit.nrw` | +| E5700 | 2576 × 1924 | 12 | 1 | uncompressed | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `e5700-2576x1924-12bit.nef` | +| E8400 | 3280 × 2454 | 12 | 1 | uncompressed | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `e8400-3280x2454-12bit.nef` | +| E8800 | 3280 × 2454 | 12 | 1 | uncompressed | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `e8800-3280x2454-12bit.nef` | +| NIKON 1 AW1 | 4620 × 3084 | 12 | 1 | lossy 2 | (12, 10), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-1-aw1-4620x3084-12bit.nef` | +| NIKON 1 J1 | 3904 × 2606 | 12 | 3 | lossy 2 | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `nikon-1-j1-3904x2606-12bit.nef` | +| NIKON 1 J2 | 3904 × 2606 | 12 | 1 | lossy 2 | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `nikon-1-j2-3904x2606-12bit.nef` | +| NIKON 1 J3 | 4620 × 3084 | 12 | 1 | lossy 2 | (6, 6), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-1-j3-4620x3084-12bit.nef` | +| NIKON 1 J4 | 5248 × 3504 | 12 | 1 | lossy 2 | unclear (5232×3488, score 0.42) | ❓ unmeasured | no masked edge lines found | `nikon-1-j4-5248x3504-12bit.nef` | +| NIKON 1 J5 | 5584 × 3726 | 12 | 2 | lossy 2 | unclear (5568×3712, score 0.30) | ❓ unmeasured | no masked edge lines found | `nikon-1-j5-5584x3726-12bit.nef` | +| NIKON 1 S1 | 3948 × 2604 | 12 | 1 | lossy 2 | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `nikon-1-s1-3948x2604-12bit.nef` | +| NIKON 1 V1 | 3904 × 2606 | 12 | 1 | lossy 2 | (12, 6), 1 of 1 files | ❓ check | dark lines in crop (optical black or a dark sample): bottom 2; pending: 2 more clean file(s) | `nikon-1-v1-3904x2606-12bit.nef` | +| NIKON 1 V2 | 4620 × 3084 | 12 | 1 | lossy 2 | (6, 6), 1 of 1 files | ❓ check | dark lines in crop (optical black or a dark sample): bottom 3; pending: 1 more clean file(s) | `nikon-1-v2-4620x3084-12bit.nef` | +| NIKON 1 V3 | 5248 × 3504 | 12 | 1 | lossy 2 | (8, 8), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-1-v3-5248x3504-12bit.nef` | +| NIKON D100 | 3034 × 2024 | 12 | 1 | uncompressed | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `nikon-d100-3034x2024-12bit.nef` | +| NIKON D1H | 2012 × 1324 | 12 | 1 | uncompressed | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `nikon-d1h-2012x1324-12bit.nef` | +| NIKON D1X | 4028 × 1324 | 12 | 2 | compressed, uncompressed | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `nikon-d1x-4028x1324-12bit.nef` | +| NIKON D200 | 3904 × 2616 | 12 | 2 | lossy 1, uncompressed | (16, 12), 2 of 2 files | ⚠️ bar | masked lines in crop: left 1, right 1; pending: 1 more clean file(s) | `nikon-d200-3904x2616-12bit.nef` | +| NIKON D2H | 2496 × 1648 | 12 | 2 | lossy 1, uncompressed | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `nikon-d2h-2496x1648-12bit.nef` | +| NIKON D2Hs | 2496 × 1648 | 12 | 1 | uncompressed | (16, 9), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-d2hs-2496x1648-12bit.nef` | +| NIKON D2X | 4320 × 2868 | 12 | 2 | lossy 1, uncompressed | (16, 10), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-d2x-4320x2868-12bit.nef` | +| NIKON D2Xs | 4320 × 2868 | 12 | 2 | lossy 1, uncompressed | (16, 10), 2 of 2 files | ✅ measured entry | crop (16, 10, 4288, 2848); siblings: NIKON D2X (1) | `nikon-d2xs-4320x2868-12bit.nef` | +| NIKON D3 | 4288 × 2844 | 12 | 3 | lossless, lossy 2, uncompressed | (15, 6), 6 of 6 files | ✅ measured entry | crop (15, 6, 4256, 2832) | `nikon-d3-4288x2844-12bit.nef` | +| NIKON D3 | 4288 × 2844 | 14 | 3 | lossless, lossy 2, uncompressed | (15, 6), 6 of 6 files | ✅ measured entry | crop (15, 6, 4256, 2832) | `nikon-d3-4288x2844-14bit.nef` | +| NIKON D300 | 4352 × 2868 | 12 | 3 | lossless, lossy 2, uncompressed | (15, 10), 6 of 6 files | ✅ measured entry | crop (15, 10, 4288, 2848) | `nikon-d300-4352x2868-12bit.nef` | +| NIKON D300 | 4352 × 2868 | 14 | 3 | lossless, lossy 2, uncompressed | (15, 10), 6 of 6 files | ✅ measured entry | crop (15, 10, 4288, 2848) | `nikon-d300-4352x2868-14bit.nef` | +| NIKON D3000 | 3904 × 2616 | 12 | 1 | lossy 1 | (14, 9), 1 of 1 files | ✅ measured entry | crop (14, 9, 3872, 2592); siblings: NIKON D40X (1), NIKON D60 (1), NIKON D80 (1) | `nikon-d3000-3904x2616-12bit.nef` | +| NIKON D300S | 4352 × 2868 | 12 | 3 | lossless, lossy 2, uncompressed | (15, 10), 4 of 4 files | ✅ measured entry | crop (15, 10, 4288, 2848) | `nikon-d300s-4352x2868-12bit.nef` | +| NIKON D300S | 4352 × 2868 | 14 | 3 | lossless, lossy 2, uncompressed | (15, 10), 4 of 4 files | ✅ measured entry | crop (15, 10, 4288, 2848) | `nikon-d300s-4352x2868-14bit.nef` | +| NIKON D3100 | 4672 × 3084 | 12 | 1 | lossy 2 | (24, 6), 1 of 1 files | ⚠️ bar | masked lines in crop: left 5, right 13; pending: 2 more clean file(s) | `nikon-d3100-4672x3084-12bit.nef` | +| NIKON D3200 | 6080 × 4012 | 12 | 1 | lossy 2 | (8, 6), 1 of 1 files | ⚠️ bar | masked lines in crop: right 45; pending: 2 more clean file(s) | `nikon-d3200-6080x4012-12bit.nef` | +| NIKON D3300 | 6016 × 4016 | 12 | 1 | lossy 2 | (8, 8), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-d3300-6016x4016-12bit.nef` | +| NIKON D3S | 4288 × 2844 | 12 | 3 | lossless, lossy 2, uncompressed | (15, 6), 6 of 6 files | ✅ measured entry | crop (15, 6, 4256, 2832) | `nikon-d3s-4288x2844-12bit.nef` | +| NIKON D3S | 4288 × 2844 | 14 | 3 | lossless, lossy 2, uncompressed | (15, 6), 6 of 6 files | ✅ measured entry | crop (15, 6, 4256, 2832) | `nikon-d3s-4288x2844-14bit.nef` | +| NIKON D3X | 6080 × 4044 | 14 | 2 | lossless, uncompressed | unclear (6048×4032, score 0.50) | ❓ unmeasured | no masked edge lines found | `nikon-d3x-6080x4044-14bit.nef` | +| NIKON D4 | 4992 × 3292 | 12 | 3 | lossless, lossy 2, uncompressed | unclear (4928×3280, score 0.61) | ✅ measured entry | crop (8, 6, 4928, 3280) | `nikon-d4-4992x3292-12bit.nef` | +| NIKON D4 | 4992 × 3292 | 14 | 3 | lossless, lossy 2, uncompressed | unclear (4928×3280, score 0.61) | ✅ measured entry | crop (8, 6, 4928, 3280) | `nikon-d4-4992x3292-14bit.nef` | +| NIKON D40 | 3040 × 2014 | 12 | 1 | lossy 1 | (16, 9), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-d40-3040x2014-12bit.nef` | +| NIKON D40X | 3904 × 2616 | 12 | 1 | lossy 1 | (14, 9), 1 of 1 files | ✅ measured entry | crop (14, 9, 3872, 2592); siblings: NIKON D3000 (1), NIKON D60 (1), NIKON D80 (1) | `nikon-d40x-3904x2616-12bit.nef` | +| NIKON D4S | 2464 × 1640 | 12 | 1 | HE / other | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `nikon-d4s-2464x1640-12bit.nef` | +| NIKON D4S | 4936 × 3288 | 12 | 3 | lossless, lossy 2, uncompressed | (4, 4), 3 of 3 files | ✅ measured entry | crop (4, 4, 4928, 3280) | `nikon-d4s-4936x3288-12bit.nef` | +| NIKON D4S | 4936 × 3288 | 14 | 3 | lossless, lossy 2, uncompressed | (4, 4), 3 of 3 files | ✅ measured entry | crop (4, 4, 4928, 3280) | `nikon-d4s-4936x3288-14bit.nef` | +| NIKON D50 | 3040 × 2014 | 12 | 1 | lossy 1 | unclear (3008×2000, score 0.74) | ❓ unmeasured | masked edge lines: right 1 | `nikon-d50-3040x2014-12bit.nef` | +| NIKON D5000 | 4352 × 2868 | 12 | 2 | lossy 2 | unclear (4288×2848, score 0.58) | ❓ unmeasured | no masked edge lines found | `nikon-d5000-4352x2868-12bit.nef` | +| NIKON D5100 | 4992 × 3280 | 14 | 3 | lossless, lossy 2, uncompressed | (8, 8), 3 of 3 files | ✅ measured entry | crop (8, 8, 4928, 3264) | `nikon-d5100-4992x3280-14bit.nef` | +| NIKON D5200 | 6036 × 4020 | 14 | 2 | lossy 2 | unclear (6000×4000, score 0.55) | ❓ unmeasured | no masked edge lines found | `nikon-d5200-6036x4020-14bit.nef` | +| NIKON D5300 | 6016 × 4016 | 12 | 1 | lossy 2 | (8, 8), 2 of 2 files | ✅ fine | only picture beyond the camera frame | `nikon-d5300-6016x4016-12bit.nef` | +| NIKON D5300 | 6016 × 4016 | 14 | 1 | lossy 2 | (8, 8), 2 of 2 files | ✅ fine | only picture beyond the camera frame | `nikon-d5300-6016x4016-14bit.nef` | +| NIKON D5500 | 6016 × 4016 | 12 | 1 | lossy 2 | (8, 8), 2 of 2 files | ✅ fine | only picture beyond the camera frame | `nikon-d5500-6016x4016-12bit.nef` | +| NIKON D5500 | 6016 × 4016 | 14 | 2 | lossy 2 | (8, 8), 2 of 2 files | ✅ fine | only picture beyond the camera frame | `nikon-d5500-6016x4016-14bit.nef` | +| NIKON D5600 | 6016 × 4016 | 12 | 2 | lossy 2 | (8, 8), 4 of 4 files | ✅ measured entry | crop (8, 8, 6000, 4000) | `nikon-d5600-6016x4016-12bit.nef` | +| NIKON D5600 | 6016 × 4016 | 14 | 2 | lossy 2 | (8, 8), 4 of 4 files | ✅ measured entry | crop (8, 8, 6000, 4000) | `nikon-d5600-6016x4016-14bit.nef` | +| NIKON D60 | 3904 × 2616 | 12 | 1 | lossy 1 | (14, 9), 1 of 1 files | ✅ measured entry | crop (14, 9, 3872, 2592); siblings: NIKON D3000 (1), NIKON D40X (1), NIKON D80 (1) | `nikon-d60-3904x2616-12bit.nef` | +| NIKON D600 | 6080 × 4028 | 12 | 2 | lossless, lossy 2 | (8, 6), 4 of 4 files | ✅ measured entry | crop (8, 6, 6016, 4016) | `nikon-d600-6080x4028-12bit.nef` | +| NIKON D600 | 6080 × 4028 | 14 | 2 | lossless, lossy 2 | (8, 6), 4 of 4 files | ✅ measured entry | crop (8, 6, 6016, 4016) | `nikon-d600-6080x4028-14bit.nef` | +| NIKON D610 | 6080 × 4028 | 12 | 2 | lossless, lossy 2 | (8, 6), 4 of 4 files | ✅ measured entry | crop (8, 6, 6016, 4016) | `nikon-d610-6080x4028-12bit.nef` | +| NIKON D610 | 6080 × 4028 | 14 | 2 | lossless, lossy 2 | (8, 6), 4 of 4 files | ✅ measured entry | crop (8, 6, 6016, 4016) | `nikon-d610-6080x4028-14bit.nef` | +| NIKON D70 | 3040 × 2014 | 12 | 1 | lossy 1 | (15, 7), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-d70-3040x2014-12bit.nef` | +| NIKON D700 | 4288 × 2844 | 12 | 3 | lossless, lossy 2, uncompressed | (15, 6), 6 of 6 files | ✅ measured entry | crop (15, 6, 4256, 2832) | `nikon-d700-4288x2844-12bit.nef` | +| NIKON D700 | 4288 × 2844 | 14 | 3 | lossless, lossy 2, uncompressed | (15, 6), 6 of 6 files | ✅ measured entry | crop (15, 6, 4256, 2832) | `nikon-d700-4288x2844-14bit.nef` | +| NIKON D7000 | 4992 × 3280 | 12 | 2 | lossless, lossy 2 | (8, 8), 1 of 5 files | ✅ measured entry | crop (8, 8, 4928, 3264); siblings: COOLPIX A (1), NIKON D5100 (3) | `nikon-d7000-4992x3280-12bit.nef` | +| NIKON D7000 | 4992 × 3280 | 14 | 3 | lossless, lossy 2 | (8, 8), 1 of 5 files | ✅ measured entry | crop (8, 8, 4928, 3264); siblings: COOLPIX A (1), NIKON D5100 (3) | `nikon-d7000-4992x3280-14bit.nef` | +| NIKON D70s | 3040 × 2014 | 12 | 1 | lossy 1 | unclear (3008×2000, score 0.76) | ❓ unmeasured | no masked edge lines found | `nikon-d70s-3040x2014-12bit.nef` | +| NIKON D7100 | 6036 × 4020 | 12 | 2 | lossless, lossy 2 | unclear (6000×4000, score 0.23) | ❓ unmeasured | no masked edge lines found | `nikon-d7100-6036x4020-12bit.nef` | +| NIKON D7100 | 6036 × 4020 | 14 | 2 | lossless, lossy 2 | unclear (6000×4000, score 0.24) | ❓ unmeasured | no masked edge lines found | `nikon-d7100-6036x4020-14bit.nef` | +| NIKON D7200 | 6016 × 4016 | 12 | 2 | lossless, lossy 2 | unclear (6000×4000, score 0.33) | ❓ unmeasured | no masked edge lines found | `nikon-d7200-6016x4016-12bit.nef` | +| NIKON D7200 | 6016 × 4016 | 14 | 2 | lossless, lossy 2 | unclear (6000×4000, score 0.31) | ❓ unmeasured | no masked edge lines found | `nikon-d7200-6016x4016-14bit.nef` | +| NIKON D750 | 6032 × 4032 | 12 | 2 | lossless, lossy 2 | (8, 8), 2 of 4 files | ❓ check | dark lines in crop (optical black or a dark sample): left 8, right 8, top 8; pending: 1 more clean file(s) | `nikon-d750-6032x4032-12bit.nef` | +| NIKON D750 | 6032 × 4032 | 14 | 2 | lossless, lossy 2 | (8, 8), 2 of 4 files | ❓ check | dark lines in crop (optical black or a dark sample): left 4, right 8, top 8; pending: 1 more clean file(s) | `nikon-d750-6032x4032-14bit.nef` | +| NIKON D80 | 3904 × 2616 | 12 | 1 | lossy 1 | (14, 9), 1 of 1 files | ✅ measured entry | crop (14, 9, 3872, 2592); siblings: NIKON D3000 (1), NIKON D40X (1), NIKON D60 (1) | `nikon-d80-3904x2616-12bit.nef` | +| NIKON D80 | 3900 × 2611 | 16 | 1 | compressed | no full-size JPEG | ❓ unmeasured | no masked edge lines found | `nikon-d80-3900x2611-16bit.dng` | +| NIKON D800 | 7424 × 4924 | 12 | 3 | lossless, lossy 2, uncompressed | (8, 6), 6 of 6 files | ✅ measured entry | crop (8, 6, 7360, 4912) | `nikon-d800-7424x4924-12bit.nef` | +| NIKON D800 | 7424 × 4924 | 14 | 3 | lossless, lossy 2, uncompressed | (8, 6), 6 of 6 files | ✅ measured entry | crop (8, 6, 7360, 4912) | `nikon-d800-7424x4924-14bit.nef` | +| NIKON D800E | 7424 × 4924 | 14 | 2 | lossless, uncompressed | (8, 6), 2 of 2 files | ✅ measured entry | crop (8, 6, 7360, 4912); siblings: NIKON D800 (6) | `nikon-d800e-7424x4924-14bit.nef` | +| NIKON D810 | 3680 × 2456 | 12 | 1 | HE / other | — | not decoded | Nikon compressed NEF without a linearization table (maker note 0x96) | `nikon-d810-3680x2456-12bit.nef` | +| NIKON D810 | 7380 × 4928 | 12 | 3 | HE / other, lossless, lossy 2 | (12, 8), 3 of 3 files | ✅ measured entry | crop (12, 8, 7360, 4912) | `nikon-d810-7380x4928-12bit.nef` | +| NIKON D810 | 7380 × 4928 | 14 | 3 | lossless, lossy 2, uncompressed | (12, 8), 3 of 3 files | ✅ measured entry | crop (12, 8, 7360, 4912) | `nikon-d810-7380x4928-14bit.nef` | +| NIKON D90 | 4352 × 2868 | 12 | 1 | lossy 2 | (11, 10), 1 of 1 files | ✅ fine | only picture beyond the camera frame | `nikon-d90-4352x2868-12bit.nef` | +| NIKON Df | 4992 × 3292 | 12 | 3 | lossless, lossy 2, uncompressed | (8, 6), 6 of 6 files | ✅ measured entry | crop (8, 6, 4928, 3280) | `nikon-df-4992x3292-12bit.nef` | +| NIKON Df | 4992 × 3292 | 14 | 3 | lossless, lossy 2, uncompressed | (8, 6), 6 of 6 files | ✅ measured entry | crop (8, 6, 4928, 3280) | `nikon-df-4992x3292-14bit.nef` | +| COOLPIX P340 | 4032 × 3024 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | +| COOLPIX P6000 | 4240 × 3174 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | +| COOLPIX P7000 | 3664 × 2742 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | +| COOLPIX P7100 | 3664 × 2744 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | +| E5400 | 2608 × 1950 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | +| NIKON 1 S2 | 4608 × 3080 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | +| NIKON D1 | 2012 × 1324 | 12 | — | — | — | no CC0 sample | only non-CC0 samples on raw.pixls.us | — | + +## Bodies that record `CropArea` + +Read from the maker note of every sample (the first 1 MB of each file); the decoder crops to it. + +| Model | Data | Bits | CropArea (x, y, width, height) | +|---|---|---:|---| +| NIKON D3400 | 6016 × 4016 | 12 | (8, 8, 6000, 4000) | +| NIKON D3500 | 6016 × 4016 | 12 | (8, 8, 6000, 4000) | +| NIKON D5 | 5584 × 3728 | 14 | (8, 8, 5568, 3712) | +| NIKON D500 | 5600 × 3728 | 12 | (16, 8, 5568, 3712) | +| NIKON D500 | 5600 × 3728 | 14 | (16, 8, 5568, 3712) | +| NIKON D500 | 4800 × 3192 | 12 | (15, 6, 4770, 3180) | +| NIKON D500 | 4200 × 2792 | 12 | (12, 4, 4176, 2784) | +| NIKON D6 | 5584 × 3728 | 14 | (8, 8, 5568, 3712) | +| NIKON D6 | 4786 × 3194 | 12 | (8, 7, 4770, 3180) | +| NIKON D6 | 4188 × 2796 | 12 | (6, 6, 4176, 2784) | +| NIKON D6 | 5584 × 3728 | 12 | (8, 8, 5568, 3712) | +| NIKON D7500 | 5600 × 3728 | 12 | (16, 8, 5568, 3712) | +| NIKON D7500 | 5600 × 3728 | 14 | (16, 8, 5568, 3712) | +| NIKON D780 | 6064 × 4040 | 12 | (8, 8, 6048, 4024) | +| NIKON D780 | 6064 × 4040 | 14 | (8, 8, 6048, 4024) | +| NIKON D850 | 6216 × 4136 | 12 | (12, 4, 6192, 4128) | +| NIKON D850 | 7104 × 4728 | 12 | (15, 5, 7074, 4716) | +| NIKON D850 | 8288 × 5520 | 12 | (16, 8, 8256, 5504) | +| NIKON D850 | 8288 × 5520 | 14 | (16, 8, 8256, 5504) | +| NIKON Z 30 | 5600 × 3728 | 12 | (16, 8, 5568, 3712) | +| NIKON Z 30 | 5600 × 3728 | 14 | (16, 8, 5568, 3712) | +| NIKON Z 5 | 6040 × 4032 | 14 | (12, 8, 6016, 4016) | +| NIKON Z 5 | 6040 × 4032 | 12 | (12, 8, 6016, 4016) | +| NIKON Z 50 | 5600 × 3728 | 14 | (16, 8, 5568, 3712) | +| NIKON Z 50 | 5600 × 3728 | 12 | (16, 8, 5568, 3712) | +| NIKON Z 6 | 6064 × 4040 | 14 | (8, 8, 6048, 4024) | +| NIKON Z 6 | 6064 × 4040 | 12 | (8, 8, 6048, 4024) | +| NIKON Z 6 | 5196 × 3462 | 12 | (10, 7, 5176, 3448) | +| NIKON Z 6 | 4548 × 3030 | 12 | (10, 6, 4528, 3018) | +| NIKON Z 6_2 | 6064 × 4040 | 14 | (8, 8, 6048, 4024) | +| NIKON Z 6_2 | 6064 × 4040 | 12 | (8, 8, 6048, 4024) | +| NIKON Z 7 | 8288 × 5520 | 14 | (16, 8, 8256, 5504) | +| NIKON Z 7 | 8288 × 5520 | 12 | (16, 8, 8256, 5504) | +| NIKON Z 7 | 7104 × 4730 | 12 | (15, 7, 7074, 4716) | +| NIKON Z 7 | 6216 × 4140 | 12 | (12, 6, 6192, 4128) | +| NIKON Z 7_2 | 8288 × 5520 | 14 | (16, 8, 8256, 5504) | +| NIKON Z 7_2 | 8288 × 5520 | 12 | (16, 8, 8256, 5504) | +| NIKON Z 8 | 8280 × 5520 | 14 | (12, 8, 8256, 5504) | +| NIKON Z 9 | 8280 × 5520 | 14 | (12, 8, 8256, 5504) | +| NIKON Z f | 6064 × 4040 | 14 | (8, 4, 6048, 4032) | +| NIKON Z fc | 5600 × 3728 | 14 | (16, 8, 5568, 3712) | +| NIKON Z fc | 5600 × 3728 | 12 | (16, 8, 5568, 3712) | +| NIKON Z50_2 | 5600 × 3728 | 14 | (16, 8, 5568, 3712) | +| NIKON Z50_2 | 3728 × 3728 | 14 | (8, 8, 3712, 3712) | +| NIKON Z50_2 | 5600 × 3144 | 14 | (16, 8, 5568, 3128) | +| NIKON Z5_2 | 4048 × 4040 | 14 | (8, 4, 4032, 4032) | +| NIKON Z5_2 | 6064 × 3416 | 14 | (8, 8, 6048, 3400) | +| NIKON Z5_2 | 4000 × 2672 | 14 | (8, 8, 3984, 2656) | +| NIKON Z5_2 | 6064 × 4040 | 14 | (8, 4, 6048, 4032) | +| NIKON Z6_3 | 4048 × 4040 | 14 | (8, 4, 4032, 4032) | +| NIKON Z6_3 | 6064 × 3416 | 14 | (8, 8, 6048, 3400) | +| NIKON Z6_3 | 4000 × 2672 | 14 | (8, 8, 3984, 2656) | +| NIKON Z6_3 | 6064 × 4040 | 14 | (8, 4, 6048, 4032) | + +## Adding a body + +1. Gather files of the body: several per data size, with detail across the frame (a blank sky, fog or a lens cap + has nothing to align on), shot with in-camera distortion control off. +2. Run `cargo xtask raw-frame FILE…`. It prints, per model and data size, how many files align cleanly on the same + frame and, once there is enough evidence, the `MeasuredBody` lines. +3. Evidence: at least 3 clean files that agree exactly, either of the model itself (12- and 14-bit pooled: both + read out the same area), or at least one of its own plus *siblings*, other models with the same readout (data + size and JPEG size) whose own files agree on the same frame. The same data size alone is not enough: the D200 + and D80 share 3904 × 2616 data but frame it at (16, 12) and (14, 9). +4. Add an entry only when the decoder's crop keeps lines without picture (*edge bands* and *beyond the camera frame* + in the tool's output), paste it into `MEASURED_BODIES` with a comment naming the evidence, and update this file. + `measured_bodies_are_consistent` checks every entry lies inside its data and is listed once. + +## How this survey was made, and how to reproduce it + +The evidence is committed next to this file, in [`nikon-bodies/`](nikon-bodies/): + +- [`headers.json`](nikon-bodies/headers.json): every Nikon raw on raw.pixls.us (index of 2026-10-11, 291 files) with its + URL, sha256, raw image size, depth and compression and the maker note's `CropArea`, `CropHiSpeed` and + `NEFCompression`, read from the first 1 MB of each file. +- [`samples.json`](nikon-bodies/samples.json): the 138 CC0 files measured: one per model, data size and depth without + `CropArea`, and every other CC0 sample of the groups that showed lines without picture (URL and sha256 each). +- [`frames.jsonl`](nikon-bodies/frames.jsonl): `cargo xtask raw-frame --json` on those files: frame, score, margin, + edge bands and what the decoder's crop keeps beyond the frame. + +To reproduce, or to re-measure after a decoder change: + +```sh +cargo xtask corpus --download nikon # 138 files, ~2.7 GB, into corpus/raw/nikon-inventory/ (sha256 checked) +cargo xtask raw-frame corpus/raw/nikon-inventory/*.* corpus/raw/nikon-inventory/extra/* +cargo xtask raw-frame --json corpus/raw/nikon-inventory/*.* corpus/raw/nikon-inventory/extra/* > docs/nikon-bodies/frames.jsonl +``` + +The first `raw-frame` prints each group's verdict and `MeasuredBody` entries; the counts in the tables above are its +output. Only CC0 files are listed; the D4's 14-bit entry comes from its contributor's own measurement. The statuses +above reflect the decoder with this file's entries. diff --git a/docs/nikon-bodies/frames.jsonl b/docs/nikon-bodies/frames.jsonl new file mode 100644 index 000000000..b8e2bc512 --- /dev/null +++ b/docs/nikon-bodies/frames.jsonl @@ -0,0 +1,138 @@ +{"bands":{"bottom":{"dark":128,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/coolpix-a-4992x3280-14bit.nef","frame":{"at":[7.991218271186213,7.984734834742818],"clean":true,"jpeg":[4928,3264],"margin":0.320695820604336,"score":0.9461083377252202},"in_crop":{"bottom":120,"left":0,"right":0,"top":0},"model":"COOLPIX A","size":[4992,3280],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,4544,3456],"file":"corpus/raw/nikon-inventory/coolpix-a1000-4608x3456-12bit.nrw","frame":{"at":[0.0,0.0],"clean":false,"jpeg":[4608,3456],"margin":0.2146546126305362,"score":0.2146546126305362},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"COOLPIX A1000","size":[4608,3456],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":200.0,"crop":[0,0,5200,3902],"file":"corpus/raw/nikon-inventory/coolpix-b700-5200x3902-12bit.nrw","frame":{"at":[8.117527970169887,2.514114098818923],"clean":false,"jpeg":[5184,3888],"margin":0.0018384623713932347,"score":0.4427812879486046},"in_crop":{"bottom":0,"left":0,"right":128,"top":0},"model":"COOLPIX B700","size":[5200,3902],"white":4079.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":200.0,"crop":[0,0,4624,3470],"file":"corpus/raw/nikon-inventory/coolpix-p1000-4624x3470-12bit.nrw","frame":{"at":[0.0,0.0],"clean":false,"jpeg":[4608,3456],"margin":0.002211624468715756,"score":0.29924756248594736},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"COOLPIX P1000","size":[4624,3470],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":200.0,"crop":[0,0,4624,3470],"file":"corpus/raw/nikon-inventory/coolpix-p1100-4624x3470-12bit.nrw","frame":{"at":[0.0,14.0],"clean":false,"jpeg":[4608,3456],"margin":0.0015148405389381336,"score":0.19682573070506165},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"COOLPIX P1100","size":[4624,3470],"white":4095.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/coolpix-p330-4032x3024-12bit.nrw"} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/coolpix-p7700-4032x3024-12bit.nrw"} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/coolpix-p7800-4032x3024-12bit.nrw"} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":200.0,"crop":[0,0,4624,3470],"file":"corpus/raw/nikon-inventory/coolpix-p950-4624x3470-12bit.nrw","frame":{"at":[1.9304110667713008,0.0],"clean":false,"jpeg":[4608,3456],"margin":0.000308158253209595,"score":0.20857626808889443},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"COOLPIX P950","size":[4624,3470],"white":4078.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,2576,1924],"file":"corpus/raw/nikon-inventory/e5700-2576x1924-12bit.nef","frame":{"error":"the largest preview (640×480) is not a full-size JPEG of the 2576×1924 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"E5700","size":[2576,1924],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3280,2454],"file":"corpus/raw/nikon-inventory/e8400-3280x2454-12bit.nef","frame":{"error":"the largest preview (1600×1200) is not a full-size JPEG of the 3280×2454 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"E8400","size":[3280,2454],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3280,2454],"file":"corpus/raw/nikon-inventory/e8800-3280x2454-12bit.nef","frame":{"error":"the largest preview (1600×1200) is not a full-size JPEG of the 3280×2454 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"E8800","size":[3280,2454],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":2},"left":{"dark":0,"masked":0,"picture":12},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":10}},"bits":12,"black":0.0,"crop":[0,0,4620,3084],"file":"corpus/raw/nikon-inventory/nikon-1-aw1-4620x3084-12bit.nef","frame":{"at":[12.0,9.881772886744043],"clean":true,"jpeg":[4608,3072],"margin":0.025115459242572524,"score":0.5461172395955519},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 AW1","size":[4620,3084],"white":4095.0} +{"bands":{"bottom":{"dark":2,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3904,2606],"file":"corpus/raw/nikon-inventory/nikon-1-j1-3904x2606-12bit.nef","frame":{"error":"the largest preview (1616×1080) is not a full-size JPEG of the 3904×2606 data"},"in_crop":{"bottom":2,"left":0,"right":0,"top":0},"model":"NIKON 1 J1","size":[3904,2606],"white":4095.0} +{"bands":{"bottom":{"dark":2,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3904,2606],"file":"corpus/raw/nikon-inventory/nikon-1-j2-3904x2606-12bit.nef","frame":{"error":"the largest preview (1616×1080) is not a full-size JPEG of the 3904×2606 data"},"in_crop":{"bottom":2,"left":0,"right":0,"top":0},"model":"NIKON 1 J2","size":[3904,2606],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":6},"left":{"dark":0,"masked":0,"picture":6},"right":{"dark":0,"masked":0,"picture":6},"top":{"dark":0,"masked":0,"picture":6}},"bits":12,"black":0.0,"crop":[0,0,4620,3084],"file":"corpus/raw/nikon-inventory/nikon-1-j3-4620x3084-12bit.nef","frame":{"at":[6.0121799754892,6.010387732302243],"clean":true,"jpeg":[4608,3072],"margin":0.35916693076964834,"score":0.9528098910292042},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 J3","size":[4620,3084],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":200.0,"crop":[0,0,5248,3504],"file":"corpus/raw/nikon-inventory/nikon-1-j4-5248x3504-12bit.nef","frame":{"at":[4.041269306655014,8.250550612474758],"clean":false,"jpeg":[5232,3488],"margin":0.017590203804156768,"score":0.4207034561445027},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 J4","size":[5248,3504],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":200.0,"crop":[0,0,5584,3726],"file":"corpus/raw/nikon-inventory/nikon-1-j5-5584x3726-12bit.nef","frame":{"at":[7.979719382569926,5.984733578303413],"clean":false,"jpeg":[5568,3712],"margin":0.27426181223538765,"score":0.2993335310428164},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 J5","size":[5584,3726],"white":4072.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3948,2604],"file":"corpus/raw/nikon-inventory/nikon-1-s1-3948x2604-12bit.nef","frame":{"error":"the largest preview (1620×1080) is not a full-size JPEG of the 3948×2604 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 S1","size":[3948,2604],"white":4095.0} +{"bands":{"bottom":{"dark":2,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":2,"masked":0,"picture":6},"left":{"dark":0,"masked":0,"picture":12},"right":{"dark":0,"masked":0,"picture":20},"top":{"dark":0,"masked":0,"picture":6}},"bits":12,"black":0.0,"crop":[0,0,3904,2606],"file":"corpus/raw/nikon-inventory/nikon-1-v1-3904x2606-12bit.nef","frame":{"at":[11.83644130952505,5.965873451016604],"clean":true,"jpeg":[3872,2592],"margin":0.08883419033058815,"score":0.8374681990482491},"in_crop":{"bottom":2,"left":0,"right":0,"top":0},"model":"NIKON 1 V1","size":[3904,2606],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":3,"masked":0,"picture":3},"left":{"dark":0,"masked":0,"picture":6},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":6}},"bits":12,"black":0.0,"crop":[0,0,4556,3084],"file":"corpus/raw/nikon-inventory/nikon-1-v2-4620x3084-12bit.nef","frame":{"at":[5.99532411238925,5.919067799645294],"clean":true,"jpeg":[4608,3072],"margin":0.16307025550867194,"score":0.8118777207360209},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 V2","size":[4620,3084],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":0,"picture":8},"top":{"dark":0,"masked":0,"picture":8}},"bits":12,"black":200.0,"crop":[0,0,5248,3504],"file":"corpus/raw/nikon-inventory/nikon-1-v3-5248x3504-12bit.nef","frame":{"at":[7.986155114735317,7.999411235310537],"clean":true,"jpeg":[5232,3488],"margin":0.2566831935328603,"score":0.9118503739132838},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON 1 V3","size":[5248,3504],"white":4095.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/nikon-d100-3034x2024-12bit.nef"} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,2012,1324],"file":"corpus/raw/nikon-inventory/nikon-d1h-2012x1324-12bit.nef","frame":{"error":"the largest preview (570×375) is not a full-size JPEG of the 2012×1324 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D1H","size":[2012,1324],"white":3953.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/nikon-d1x-4028x1324-12bit.nef"} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":1},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":12},"left":{"dark":0,"masked":1,"picture":15},"right":{"dark":0,"masked":1,"picture":15},"top":{"dark":0,"masked":0,"picture":12}},"bits":12,"black":0.0,"crop":[0,0,3904,2616],"file":"corpus/raw/nikon-inventory/nikon-d200-3904x2616-12bit.nef","frame":{"at":[16.01025407598696,12.006844183759362],"clean":true,"jpeg":[3872,2592],"margin":0.3416236421836649,"score":0.9595136124542439},"in_crop":{"bottom":0,"left":1,"right":1,"top":0},"model":"NIKON D200","size":[3904,2616],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,2496,1648],"file":"corpus/raw/nikon-inventory/nikon-d2h-2496x1648-12bit.nef","frame":{"error":"the largest preview (570×375) is not a full-size JPEG of the 2496×1648 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D2H","size":[2496,1648],"white":3893.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":7},"left":{"dark":0,"masked":0,"picture":16},"right":{"dark":0,"masked":0,"picture":16},"top":{"dark":0,"masked":0,"picture":9}},"bits":12,"black":0.0,"crop":[0,0,2496,1648],"file":"corpus/raw/nikon-inventory/nikon-d2hs-2496x1648-12bit.nef","frame":{"at":[16.038741141901035,9.069969938695325],"clean":true,"jpeg":[2464,1632],"margin":0.17716115547156064,"score":0.8101537541551725},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D2Hs","size":[2496,1648],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":10},"left":{"dark":0,"masked":0,"picture":16},"right":{"dark":0,"masked":0,"picture":16},"top":{"dark":0,"masked":0,"picture":10}},"bits":12,"black":0.0,"crop":[0,0,4320,2868],"file":"corpus/raw/nikon-inventory/nikon-d2x-4320x2868-12bit.nef","frame":{"at":[16.00858884711577,9.991109378310284],"clean":true,"jpeg":[4288,2848],"margin":0.40880031850072157,"score":0.8895149367778301},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D2X","size":[4320,2868],"white":3864.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[16,10,4288,2848],"file":"corpus/raw/nikon-inventory/nikon-d2xs-4320x2868-12bit.nef","frame":{"at":[16.030612351582747,10.026667883092484],"clean":true,"jpeg":[4288,2848],"margin":0.17971609935486177,"score":0.9670293366141101},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D2Xs","size":[4320,2868],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/nikon-d3-4288x2844-12bit.nef","frame":{"at":[15.06197935887176,6.209582795998887],"clean":true,"jpeg":[4256,2832],"margin":0.13107011150001835,"score":0.8372899975466536},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3","size":[4288,2844],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/nikon-d3-4288x2844-14bit.nef","frame":{"at":[15.0065254709036,6.175549268126694],"clean":true,"jpeg":[4256,2832],"margin":0.12550985591838626,"score":0.8478430501032164},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3","size":[4288,2844],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/nikon-d300-4352x2868-12bit.nef","frame":{"at":[14.963163304663745,10.013949375217896],"clean":true,"jpeg":[4288,2848],"margin":0.27057625314707945,"score":0.828855021089607},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300","size":[4352,2868],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":30},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/nikon-d300-4352x2868-14bit.nef","frame":{"at":[14.965340282236578,10.1093672491249],"clean":true,"jpeg":[4288,2848],"margin":0.27180978661403976,"score":0.8353492052707778},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300","size":[4352,2868],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":3},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":4},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[14,9,3872,2592],"file":"corpus/raw/nikon-inventory/nikon-d3000-3904x2616-12bit.nef","frame":{"at":[14.020985337488275,9.007736795968189],"clean":true,"jpeg":[3872,2592],"margin":0.18090525238171873,"score":0.8169129191871185},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3000","size":[3904,2616],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/nikon-d300s-4352x2868-12bit.nef","frame":{"at":[15.001424661603835,9.891872114725707],"clean":true,"jpeg":[4288,2848],"margin":0.231563820874913,"score":0.8448010960484519},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300S","size":[4352,2868],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":32},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/nikon-d300s-4352x2868-14bit.nef","frame":{"at":[15.005471214865059,9.888637180383792],"clean":true,"jpeg":[4288,2848],"margin":0.23336691666125664,"score":0.8471488598604319},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300S","size":[4352,2868],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":3},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":6},"left":{"dark":0,"masked":5,"picture":19},"right":{"dark":0,"masked":13,"picture":27},"top":{"dark":0,"masked":0,"picture":6}},"bits":12,"black":0.0,"crop":[0,0,4672,3084],"file":"corpus/raw/nikon-inventory/nikon-d3100-4672x3084-12bit.nef","frame":{"at":[23.990446328056706,6.083100669816429],"clean":true,"jpeg":[4608,3072],"margin":0.21459547420761427,"score":0.8945683409676348},"in_crop":{"bottom":0,"left":3,"right":0,"top":0},"model":"NIKON D3100","size":[4672,3084],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":44},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":6},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":45,"picture":11},"top":{"dark":0,"masked":0,"picture":6}},"bits":12,"black":0.0,"crop":[0,0,6080,4012],"file":"corpus/raw/nikon-inventory/nikon-d3200-6080x4012-12bit.nef","frame":{"at":[7.98074239159573,6.01139723926263],"clean":true,"jpeg":[6016,4000],"margin":0.3595418333415642,"score":0.8937326573333666},"in_crop":{"bottom":0,"left":0,"right":44,"top":0},"model":"NIKON D3200","size":[6080,4012],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":0,"picture":8},"top":{"dark":0,"masked":0,"picture":8}},"bits":12,"black":150.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d3300-6016x4016-12bit.nef","frame":{"at":[8.017930658000486,8.027302880304203],"clean":true,"jpeg":[6000,4000],"margin":0.19487309016988497,"score":0.6365949284639026},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3300","size":[6016,4016],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/nikon-d3s-4288x2844-12bit.nef","frame":{"at":[14.977910344660529,5.993320052275129],"clean":true,"jpeg":[4256,2832],"margin":0.25660763058250735,"score":0.8169187560395977},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3S","size":[4288,2844],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/nikon-d3s-4288x2844-14bit.nef","frame":{"at":[14.987442593524294,5.98400119337978],"clean":true,"jpeg":[4256,2832],"margin":0.24553931434573506,"score":0.8193142775561776},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3S","size":[4288,2844],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[0,0,6080,4044],"file":"corpus/raw/nikon-inventory/nikon-d3x-6080x4044-14bit.nef","frame":{"at":[14.86964137111168,5.925985683207438],"clean":false,"jpeg":[6048,4032],"margin":0.09007599064761829,"score":0.4958718622677699},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3X","size":[6080,4044],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/nikon-d4-4992x3292-12bit.nef","frame":{"at":[13.399213486513673,3.0802936823578593],"clean":false,"jpeg":[4928,3280],"margin":0.0304824142107043,"score":0.6099597535123862},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4","size":[4992,3292],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/nikon-d4-4992x3292-14bit.nef","frame":{"at":[13.478674204732135,2.999745693545507],"clean":false,"jpeg":[4928,3280],"margin":0.021159169875086148,"score":0.6071558327589177},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4","size":[4992,3292],"white":15520.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":5},"left":{"dark":0,"masked":0,"picture":16},"right":{"dark":0,"masked":0,"picture":16},"top":{"dark":0,"masked":0,"picture":9}},"bits":12,"black":0.0,"crop":[0,0,3040,2014],"file":"corpus/raw/nikon-inventory/nikon-d40-3040x2014-12bit.nef","frame":{"at":[15.959615240113543,9.17315605761679],"clean":true,"jpeg":[3008,2000],"margin":0.18466231384261222,"score":0.8632578187475985},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D40","size":[3040,2014],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":3},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":4},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[14,9,3872,2592],"file":"corpus/raw/nikon-inventory/nikon-d40x-3904x2616-12bit.nef","frame":{"at":[14.01656548784139,8.787332104654881],"clean":true,"jpeg":[3872,2592],"margin":0.1542437902013285,"score":0.816191473050358},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D40X","size":[3904,2616],"white":4080.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/nikon-d4s-2464x1640-12bit.nef"} +{"bands":{"bottom":{"dark":128,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":192.0,"crop":[4,4,4928,3280],"file":"corpus/raw/nikon-inventory/nikon-d4s-4936x3288-12bit.nef","frame":{"at":[3.957424031022619,3.995342441481671],"clean":true,"jpeg":[4928,3280],"margin":0.306070801333025,"score":0.9263599049311801},"in_crop":{"bottom":124,"left":0,"right":0,"top":0},"model":"NIKON D4S","size":[4936,3288],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":768.0,"crop":[4,4,4928,3280],"file":"corpus/raw/nikon-inventory/nikon-d4s-4936x3288-14bit.nef","frame":{"at":[3.986434158718541,3.9773600975641097],"clean":true,"jpeg":[4928,3280],"margin":0.309896666741202,"score":0.9333110382543731},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4S","size":[4936,3288],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":1},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3040,2014],"file":"corpus/raw/nikon-inventory/nikon-d50-3040x2014-12bit.nef","frame":{"at":[14.413195438114768,7.3980069536379505],"clean":false,"jpeg":[3008,2000],"margin":0.18308086995218098,"score":0.7423127283804339},"in_crop":{"bottom":0,"left":0,"right":1,"top":0},"model":"NIKON D50","size":[3040,2014],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,4352,2868],"file":"corpus/raw/nikon-inventory/nikon-d5000-4352x2868-12bit.nef","frame":{"at":[0.0,6.141511491497044],"clean":false,"jpeg":[4288,2848],"margin":0.0009979280512447675,"score":0.5750553855650493},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5000","size":[4352,2868],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/nikon-d5100-4992x3280-14bit.nef","frame":{"at":[8.008021848230495,8.016054975969679],"clean":true,"jpeg":[4928,3264],"margin":0.3527114054043975,"score":0.8976575608894457},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5100","size":[4992,3280],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[0,0,6036,4020],"file":"corpus/raw/nikon-inventory/nikon-d5200-6036x4020-14bit.nef","frame":{"at":[17.645007680152993,13.582070090541709],"clean":false,"jpeg":[6000,4000],"margin":0.03524685187151477,"score":0.5473877132887051},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5200","size":[6036,4020],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":0,"picture":8},"top":{"dark":0,"masked":0,"picture":8}},"bits":12,"black":150.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d5300-6016x4016-12bit.nef","frame":{"at":[7.985103420488071,7.9982612013849534],"clean":true,"jpeg":[6000,4000],"margin":0.3577109057296845,"score":0.7942102854464412},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5300","size":[6016,4016],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":0,"picture":8},"top":{"dark":0,"masked":0,"picture":8}},"bits":14,"black":600.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d5300-6016x4016-14bit.nef","frame":{"at":[7.976807992051084,7.998189111104181],"clean":true,"jpeg":[6000,4000],"margin":0.3121296742299233,"score":0.7920660149557761},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5300","size":[6016,4016],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":0,"picture":8},"top":{"dark":0,"masked":0,"picture":8}},"bits":12,"black":150.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d5500-6016x4016-12bit.nef","frame":{"at":[8.073050735635013,8.054269312911488],"clean":true,"jpeg":[6000,4000],"margin":0.20981793009003685,"score":0.6995731820281116},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5500","size":[6016,4016],"white":4072.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":0,"masked":0,"picture":8},"right":{"dark":0,"masked":0,"picture":8},"top":{"dark":0,"masked":0,"picture":8}},"bits":14,"black":600.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d5500-6016x4016-14bit.nef","frame":{"at":[8.052197952469333,8.036494438115742],"clean":true,"jpeg":[6000,4000],"margin":0.22671674296643968,"score":0.6954276957370694},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5500","size":[6016,4016],"white":16287.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":150.0,"crop":[8,8,6000,4000],"file":"corpus/raw/nikon-inventory/nikon-d5600-6016x4016-12bit.nef","frame":{"at":[7.969084135749677,7.974496754705931],"clean":true,"jpeg":[6000,4000],"margin":0.28403697333640165,"score":0.8206301903421694},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5600","size":[6016,4016],"white":4072.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":600.0,"crop":[8,8,6000,4000],"file":"corpus/raw/nikon-inventory/nikon-d5600-6016x4016-14bit.nef","frame":{"at":[7.959800456495091,7.994556897278949],"clean":true,"jpeg":[6000,4000],"margin":0.2768906120524435,"score":0.7952585709106961},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5600","size":[6016,4016],"white":16287.0} +{"bands":{"bottom":{"dark":0,"masked":3},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":4},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[14,9,3872,2592],"file":"corpus/raw/nikon-inventory/nikon-d60-3904x2616-12bit.nef","frame":{"at":[14.043134767884817,9.122245522713433],"clean":true,"jpeg":[3872,2592],"margin":0.21826226122323622,"score":0.7313381116229737},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D60","size":[3904,2616],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d600-6080x4028-12bit.nef","frame":{"at":[8.018829583976117,6.012496654801777],"clean":true,"jpeg":[6016,4016],"margin":0.3670041004770914,"score":0.9142582945577193},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D600","size":[6080,4028],"white":3174.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d600-6080x4028-14bit.nef","frame":{"at":[8.02056019198638,6.017223068403106],"clean":true,"jpeg":[6016,4016],"margin":0.37079877685376206,"score":0.9135494095428678},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D600","size":[6080,4028],"white":12707.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d610-6080x4028-12bit.nef","frame":{"at":[7.976958545258397,6.020087854077047],"clean":true,"jpeg":[6016,4016],"margin":0.2957101224147237,"score":0.8230370934847547},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D610","size":[6080,4028],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d610-6080x4028-14bit.nef","frame":{"at":[7.989126860167796,6.02270028324246],"clean":true,"jpeg":[6016,4016],"margin":0.2890755616443125,"score":0.8248939083917021},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D610","size":[6080,4028],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":7},"left":{"dark":0,"masked":0,"picture":15},"right":{"dark":0,"masked":0,"picture":17},"top":{"dark":0,"masked":0,"picture":7}},"bits":12,"black":0.0,"crop":[0,0,3040,2014],"file":"corpus/raw/nikon-inventory/nikon-d70-3040x2014-12bit.nef","frame":{"at":[15.238798183649205,6.731085392714868],"clean":true,"jpeg":[3008,2000],"margin":0.1391085067257367,"score":0.7887356463015482},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D70","size":[3040,2014],"white":4080.0} +{"bands":{"bottom":{"dark":17,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/nikon-d700-4288x2844-12bit.nef","frame":{"at":[14.942573488355356,6.047312558884514],"clean":true,"jpeg":[4256,2832],"margin":0.2156080260452553,"score":0.8610453656395287},"in_crop":{"bottom":11,"left":0,"right":0,"top":0},"model":"NIKON D700","size":[4288,2844],"white":3918.0} +{"bands":{"bottom":{"dark":17,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/nikon-d700-4288x2844-14bit.nef","frame":{"at":[14.937801366197323,6.048356598289724],"clean":true,"jpeg":[4256,2832],"margin":0.21832357175985173,"score":0.861047104011575},"in_crop":{"bottom":11,"left":0,"right":0,"top":0},"model":"NIKON D700","size":[4288,2844],"white":15689.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/nikon-d7000-4992x3280-12bit.nef","frame":{"at":[7.797292136225339,8.505365503155778],"clean":false,"jpeg":[4928,3264],"margin":0.0931008039754595,"score":0.761386671692001},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7000","size":[4992,3280],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/nikon-d7000-4992x3280-14bit.nef","frame":{"at":[7.9217379308398,8.519679730671863],"clean":false,"jpeg":[4928,3264],"margin":0.10394198029376478,"score":0.7618415778636567},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7000","size":[4992,3280],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,3040,2014],"file":"corpus/raw/nikon-inventory/nikon-d70s-3040x2014-12bit.nef","frame":{"at":[15.361879085749457,6.929337772746099],"clean":false,"jpeg":[3008,2000],"margin":0.12404186918983884,"score":0.7632094017630537},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D70s","size":[3040,2014],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[0,0,6036,4020],"file":"corpus/raw/nikon-inventory/nikon-d7100-6036x4020-12bit.nef","frame":{"at":[0.0,0.0],"clean":false,"jpeg":[6000,4000],"margin":0.0007707770448449058,"score":0.2320813780433149},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7100","size":[6036,4020],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[0,0,6036,4020],"file":"corpus/raw/nikon-inventory/nikon-d7100-6036x4020-14bit.nef","frame":{"at":[0.0,0.0],"clean":false,"jpeg":[6000,4000],"margin":0.0024608175352617,"score":0.23634771596034546},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7100","size":[6036,4020],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":150.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d7200-6016x4016-12bit.nef","frame":{"at":[8.008243161394006,8.023839897203336],"clean":false,"jpeg":[6000,4000],"margin":0.17680034308176606,"score":0.325544227330648},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7200","size":[6016,4016],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":600.0,"crop":[0,0,6016,4016],"file":"corpus/raw/nikon-inventory/nikon-d7200-6016x4016-14bit.nef","frame":{"at":[8.021254818586835,8.028887851774844],"clean":false,"jpeg":[6000,4000],"margin":0.16872668859408105,"score":0.3081936263986367},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7200","size":[6016,4016],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":128,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":128,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":8,"masked":0,"picture":0},"right":{"dark":8,"masked":0,"picture":0},"top":{"dark":8,"masked":0,"picture":0}},"bits":12,"black":150.0,"crop":[0,0,6032,4032],"file":"corpus/raw/nikon-inventory/nikon-d750-6032x4032-12bit.nef","frame":{"at":[7.670942297864694,8.113369200109082],"clean":true,"jpeg":[6016,4016],"margin":0.14395130237194154,"score":0.7865396925505159},"in_crop":{"bottom":0,"left":128,"right":128,"top":128},"model":"NIKON D750","size":[6032,4032],"white":4072.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":128,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":8},"left":{"dark":4,"masked":0,"picture":4},"right":{"dark":8,"masked":0,"picture":0},"top":{"dark":8,"masked":0,"picture":0}},"bits":14,"black":600.0,"crop":[0,0,6032,4032],"file":"corpus/raw/nikon-inventory/nikon-d750-6032x4032-14bit.nef","frame":{"at":[7.651793531638724,8.034084667085798],"clean":true,"jpeg":[6016,4016],"margin":0.14453837200820108,"score":0.7769333572453446},"in_crop":{"bottom":0,"left":0,"right":128,"top":128},"model":"NIKON D750","size":[6032,4032],"white":16287.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":16,"black":0.0,"crop":[14,9,3872,2592],"file":"corpus/raw/nikon-inventory/nikon-d80-3900x2611-16bit.dng","frame":{"error":"the largest preview (1024×683) is not a full-size JPEG of the 3900×2611 data"},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D80","size":[3900,2611],"white":3880.0} +{"bands":{"bottom":{"dark":0,"masked":3},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":4},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[14,9,3872,2592],"file":"corpus/raw/nikon-inventory/nikon-d80-3904x2616-12bit.nef","frame":{"at":[13.845289593690447,9.259505121441883],"clean":true,"jpeg":[3872,2592],"margin":0.23602643297310755,"score":0.8225433845356894},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D80","size":[3904,2616],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/nikon-d800-7424x4924-12bit.nef","frame":{"at":[7.930847189878942,5.915653347350122],"clean":true,"jpeg":[7360,4912],"margin":0.26927818028915373,"score":0.9317770552865274},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800","size":[7424,4924],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/nikon-d800-7424x4924-14bit.nef","frame":{"at":[7.91561059480293,5.902197171122292],"clean":true,"jpeg":[7360,4912],"margin":0.2762050732260336,"score":0.93742688048927},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800","size":[7424,4924],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/nikon-d800e-7424x4924-14bit.nef","frame":{"at":[7.972028781487126,5.964825938664561],"clean":true,"jpeg":[7360,4912],"margin":0.2715322090750353,"score":0.922034706153291},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800E","size":[7424,4924],"white":16319.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/nikon-d810-3680x2456-12bit.nef"} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":150.0,"crop":[12,8,7360,4912],"file":"corpus/raw/nikon-inventory/nikon-d810-7380x4928-12bit.nef","frame":{"at":[11.955407132657381,7.960002424656449],"clean":true,"jpeg":[7360,4912],"margin":0.34767946827779084,"score":0.9673216418460541},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D810","size":[7380,4928],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":600.0,"crop":[12,8,7360,4912],"file":"corpus/raw/nikon-inventory/nikon-d810-7380x4928-14bit.nef","frame":{"at":[11.963259725742814,7.960056571451713],"clean":true,"jpeg":[7360,4912],"margin":0.348139083781265,"score":0.9649553904857636},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D810","size":[7380,4928],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":10},"left":{"dark":0,"masked":0,"picture":11},"right":{"dark":0,"masked":0,"picture":53},"top":{"dark":0,"masked":0,"picture":10}},"bits":12,"black":0.0,"crop":[0,0,4352,2868],"file":"corpus/raw/nikon-inventory/nikon-d90-4352x2868-12bit.nef","frame":{"at":[10.9118846536034,10.028871172552668],"clean":true,"jpeg":[4288,2848],"margin":0.2009357647241916,"score":0.8284840582738},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D90","size":[4352,2868],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/nikon-df-4992x3292-12bit.nef","frame":{"at":[8.027905326823548,5.971693105397619],"clean":true,"jpeg":[4928,3280],"margin":0.2729527832823915,"score":0.8677363527751335},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON Df","size":[4992,3292],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/nikon-df-4992x3292-14bit.nef","frame":{"at":[8.115246622321285,6.1019002101089255],"clean":true,"jpeg":[4928,3280],"margin":0.26321414362147133,"score":0.8361672382416335},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON Df","size":[4992,3292],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":12},"left":{"dark":0,"masked":0,"picture":16},"right":{"dark":0,"masked":0,"picture":16},"top":{"dark":0,"masked":0,"picture":12}},"bits":12,"black":0.0,"crop":[0,0,3904,2616],"file":"corpus/raw/nikon-inventory/extra/nikon-d200-3904x2616-12bit-2.nef","frame":{"at":[16.007666069483708,12.008555105547535],"clean":true,"jpeg":[3872,2592],"margin":0.31960242299406516,"score":0.9394735869712327},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D200","size":[3904,2616],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[16,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d2xs-4320x2868-12bit-2.nef","frame":{"at":[16.05759019668479,10.055836179688047],"clean":true,"jpeg":[4288,2848],"margin":0.2007519455310358,"score":0.9697896352104445},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D2Xs","size":[4320,2868],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3-4288x2844-12bit-2.nef","frame":{"at":[14.980187078169585,6.066834960757376],"clean":true,"jpeg":[4256,2832],"margin":0.12244947411171359,"score":0.8378929185698076},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3","size":[4288,2844],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3-4288x2844-12bit-3.nef","frame":{"at":[14.992717334671173,6.056548228082232],"clean":true,"jpeg":[4256,2832],"margin":0.11523163034961137,"score":0.8384078036257756},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3","size":[4288,2844],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3-4288x2844-14bit-2.nef","frame":{"at":[15.041834233593521,6.170113980005793],"clean":true,"jpeg":[4256,2832],"margin":0.12725753360423142,"score":0.8511244105063482},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3","size":[4288,2844],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3-4288x2844-14bit-3.nef","frame":{"at":[14.990731846945978,5.993771217949102],"clean":true,"jpeg":[4256,2832],"margin":0.12678275755382395,"score":0.849762408929188},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3","size":[4288,2844],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d300-4352x2868-12bit-2.nef","frame":{"at":[14.967543691281245,10.024498614925346],"clean":true,"jpeg":[4288,2848],"margin":0.2659664226064259,"score":0.8327825218544854},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300","size":[4352,2868],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":1},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d300-4352x2868-12bit-3.nef","frame":{"at":[14.958111889293724,10.036567435039556],"clean":true,"jpeg":[4288,2848],"margin":0.2760517434215627,"score":0.8325580243786451},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300","size":[4352,2868],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":32},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d300-4352x2868-14bit-2.nef","frame":{"at":[15.003616148890309,10.000113616939965],"clean":true,"jpeg":[4288,2848],"margin":0.2679003500829471,"score":0.8363094330235713},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300","size":[4352,2868],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":32},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d300-4352x2868-14bit-3.nef","frame":{"at":[14.989447485699047,10.089343423234716],"clean":true,"jpeg":[4288,2848],"margin":0.2664176295360958,"score":0.829959127305412},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300","size":[4352,2868],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":32},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d300s-4352x2868-14bit-2.nef","frame":{"at":[15.00875433965344,9.894231096351069],"clean":true,"jpeg":[4288,2848],"margin":0.2280032923184374,"score":0.8494302173319537},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300S","size":[4352,2868],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":32},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,10,4288,2848],"file":"corpus/raw/nikon-inventory/extra/nikon-d300s-4352x2868-14bit-3.nef","frame":{"at":[14.975661275010463,10.040912462246233],"clean":true,"jpeg":[4288,2848],"margin":0.23086645396527306,"score":0.8503846854344668},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D300S","size":[4352,2868],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3s-4288x2844-12bit-2.nef","frame":{"at":[14.989055882434,5.990766546333286],"clean":true,"jpeg":[4256,2832],"margin":0.25381154387234073,"score":0.8170628248920012},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3S","size":[4288,2844],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3s-4288x2844-12bit-3.nef","frame":{"at":[14.993801717571497,5.981874525964817],"clean":true,"jpeg":[4256,2832],"margin":0.2571772156122383,"score":0.8235585336711027},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3S","size":[4288,2844],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3s-4288x2844-14bit-2.nef","frame":{"at":[14.99539737435001,5.974482931186765],"clean":true,"jpeg":[4256,2832],"margin":0.20584056839798281,"score":0.8877639131040432},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3S","size":[4288,2844],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":1},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d3s-4288x2844-14bit-3.nef","frame":{"at":[14.978236542262762,6.000763882248561],"clean":true,"jpeg":[4256,2832],"margin":0.26062848446839226,"score":0.8108940037689448},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D3S","size":[4288,2844],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-d4-4992x3292-12bit-2.nef","frame":{"at":[13.382055215728215,3.2234402185545528],"clean":false,"jpeg":[4928,3280],"margin":0.03201920577444273,"score":0.612110263416557},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4","size":[4992,3292],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-d4-4992x3292-12bit-3.nef","frame":{"at":[13.42360053212776,2.992393002373246],"clean":false,"jpeg":[4928,3280],"margin":0.02490272227928947,"score":0.6113121806173664},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4","size":[4992,3292],"white":4095.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-d4-4992x3292-14bit-2.nef","frame":{"at":[13.355858658318112,3.141329215346695],"clean":false,"jpeg":[4928,3280],"margin":0.02893704306865441,"score":0.6078042046696639},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4","size":[4992,3292],"white":15520.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-d4-4992x3292-14bit-3.nef","frame":{"at":[13.393817279588676,3.178444167665886],"clean":false,"jpeg":[4928,3280],"margin":0.03200927617995042,"score":0.6100234901763839},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D4","size":[4992,3292],"white":15520.0} +{"bands":{"bottom":{"dark":128,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":192.0,"crop":[4,4,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-d4s-4936x3288-12bit-2.nef","frame":{"at":[3.9598223026235435,3.987314697978216],"clean":true,"jpeg":[4928,3280],"margin":0.31074016364939616,"score":0.9284921865752147},"in_crop":{"bottom":124,"left":0,"right":0,"top":0},"model":"NIKON D4S","size":[4936,3288],"white":4095.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/extra/nikon-d4s-4936x3288-12bit-3.nef"} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":150.0,"crop":[8,8,6000,4000],"file":"corpus/raw/nikon-inventory/extra/nikon-d5600-6016x4016-12bit-2.nef","frame":{"at":[7.994586545151522,7.996817356389964],"clean":true,"jpeg":[6000,4000],"margin":0.25614293611645966,"score":0.5952496027458306},"in_crop":{"bottom":0,"left":0,"right":120,"top":0},"model":"NIKON D5600","size":[6016,4016],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":600.0,"crop":[8,8,6000,4000],"file":"corpus/raw/nikon-inventory/extra/nikon-d5600-6016x4016-14bit-2.nef","frame":{"at":[8.002860864614728,7.97829450425446],"clean":true,"jpeg":[6000,4000],"margin":0.2985718226202447,"score":0.618746247343758},"in_crop":{"bottom":0,"left":0,"right":120,"top":0},"model":"NIKON D5600","size":[6016,4016],"white":16287.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/extra/nikon-d600-6080x4028-12bit-2.nef","frame":{"at":[8.02382662032276,6.010713465882345],"clean":true,"jpeg":[6016,4016],"margin":0.35823042537036487,"score":0.9108606369733137},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D600","size":[6080,4028],"white":3182.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/extra/nikon-d600-6080x4028-14bit-2.nef","frame":{"at":[8.018800214291126,6.017619304536601],"clean":true,"jpeg":[6016,4016],"margin":0.3659367247945301,"score":0.9124135150660873},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D600","size":[6080,4028],"white":12729.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/extra/nikon-d610-6080x4028-12bit-2.nef","frame":{"at":[7.985970204366252,6.050344317946167],"clean":true,"jpeg":[6016,4016],"margin":0.28943262954575266,"score":0.8228170990105343},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D610","size":[6080,4028],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":32,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,6016,4016],"file":"corpus/raw/nikon-inventory/extra/nikon-d610-6080x4028-14bit-2.nef","frame":{"at":[7.977473095879465,6.0174068589515395],"clean":true,"jpeg":[6016,4016],"margin":0.2884178207385366,"score":0.8101465134744326},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D610","size":[6080,4028],"white":16320.0} +{"bands":{"bottom":{"dark":17,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d700-4288x2844-12bit-2.nef","frame":{"at":[14.941067070961772,6.050307207331495],"clean":true,"jpeg":[4256,2832],"margin":0.2182616143310312,"score":0.8615567654707883},"in_crop":{"bottom":11,"left":0,"right":0,"top":0},"model":"NIKON D700","size":[4288,2844],"white":3922.0} +{"bands":{"bottom":{"dark":19,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d700-4288x2844-12bit-3.nef","frame":{"at":[14.93854928966781,6.047747632093432],"clean":true,"jpeg":[4256,2832],"margin":0.21618878847249123,"score":0.8614344661861965},"in_crop":{"bottom":13,"left":0,"right":0,"top":0},"model":"NIKON D700","size":[4288,2844],"white":3922.0} +{"bands":{"bottom":{"dark":17,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d700-4288x2844-14bit-2.nef","frame":{"at":[14.935687802904276,6.043713039408552],"clean":true,"jpeg":[4256,2832],"margin":0.21742762990540077,"score":0.8618235451160839},"in_crop":{"bottom":11,"left":0,"right":0,"top":0},"model":"NIKON D700","size":[4288,2844],"white":15691.0} +{"bands":{"bottom":{"dark":17,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":0,"masked":2},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[15,6,4256,2832],"file":"corpus/raw/nikon-inventory/extra/nikon-d700-4288x2844-14bit-3.nef","frame":{"at":[14.943631773750436,6.050152789779033],"clean":true,"jpeg":[4256,2832],"margin":0.21807600657258264,"score":0.8608587904767784},"in_crop":{"bottom":11,"left":0,"right":0,"top":0},"model":"NIKON D700","size":[4288,2844],"white":15691.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":12,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/extra/nikon-d7000-4992x3280-12bit-2.nef","frame":{"at":[7.853405009476967,8.387166270529473],"clean":false,"jpeg":[4928,3264],"margin":0.0938003222014373,"score":0.7609341965535669},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7000","size":[4992,3280],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":null,"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/extra/nikon-d7000-4992x3280-14bit-2.nef","frame":{"at":[7.804233031747276,8.405918709914786],"clean":false,"jpeg":[4928,3264],"margin":0.09497530501545726,"score":0.757381044215693},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D7000","size":[4992,3280],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":128,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/extra/nikon-d7000-4992x3280-14bit-3.nef","frame":{"at":[7.9732705133564625,8.005829563440242],"clean":true,"jpeg":[4928,3264],"margin":0.2801468012241305,"score":0.5732713458469983},"in_crop":{"bottom":0,"left":0,"right":0,"top":120},"model":"NIKON D7000","size":[4992,3280],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":120,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":128,"masked":0}},"beyond_frame":null,"bits":12,"black":150.0,"crop":[0,0,6032,4032],"file":"corpus/raw/nikon-inventory/extra/nikon-d750-6032x4032-12bit-2.nef","frame":{"at":[7.606973106237589,8.102161918892651],"clean":false,"jpeg":[6016,4016],"margin":0.14086170856695934,"score":0.7729158488862322},"in_crop":{"bottom":0,"left":120,"right":128,"top":128},"model":"NIKON D750","size":[6032,4032],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":128,"masked":0},"top":{"dark":128,"masked":0}},"beyond_frame":null,"bits":14,"black":600.0,"crop":[0,0,6032,4032],"file":"corpus/raw/nikon-inventory/extra/nikon-d750-6032x4032-14bit-2.nef","frame":{"at":[7.552763215807217,8.07471871816735],"clean":false,"jpeg":[6016,4016],"margin":0.12658592287779824,"score":0.7764678431243132},"in_crop":{"bottom":0,"left":0,"right":128,"top":128},"model":"NIKON D750","size":[6032,4032],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/extra/nikon-d800-7424x4924-12bit-2.nef","frame":{"at":[7.914310287624199,5.873672120221374],"clean":true,"jpeg":[7360,4912],"margin":0.2995025285506596,"score":0.9340865082830804},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800","size":[7424,4924],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/extra/nikon-d800-7424x4924-12bit-3.nef","frame":{"at":[7.935265837129149,5.89757150311888],"clean":true,"jpeg":[7360,4912],"margin":0.32046329982900557,"score":0.9244157371324039},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800","size":[7424,4924],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/extra/nikon-d800-7424x4924-14bit-2.nef","frame":{"at":[7.930267675249204,5.87128926841653],"clean":true,"jpeg":[7360,4912],"margin":0.31008524591760145,"score":0.9375157258000918},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800","size":[7424,4924],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/extra/nikon-d800-7424x4924-14bit-3.nef","frame":{"at":[7.932256187810048,5.821194431533657],"clean":true,"jpeg":[7360,4912],"margin":0.2746563967226444,"score":0.9373162474490357},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D800","size":[7424,4924],"white":16320.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":30,"masked":0},"top":{"dark":46,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,7360,4912],"file":"corpus/raw/nikon-inventory/extra/nikon-d800e-7424x4924-14bit-2.nef","frame":{"at":[7.9144784168619555,5.997066662443523],"clean":true,"jpeg":[7360,4912],"margin":0.26423394438946823,"score":0.8584854723901633},"in_crop":{"bottom":0,"left":0,"right":0,"top":40},"model":"NIKON D800E","size":[7424,4924],"white":16319.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":0,"masked":0},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":150.0,"crop":[12,8,7360,4912],"file":"corpus/raw/nikon-inventory/extra/nikon-d810-7380x4928-12bit-2.nef","frame":{"at":[11.952675961670657,7.957759264677984],"clean":true,"jpeg":[7360,4912],"margin":0.3531360589775445,"score":0.9670673725399618},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D810","size":[7380,4928],"white":4095.0} +{"error":"unsupported raw variant: Nikon compressed NEF without a linearization table (maker note 0x96)","file":"corpus/raw/nikon-inventory/extra/nikon-d810-7380x4928-12bit-3.nef"} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-df-4992x3292-12bit-2.nef","frame":{"at":[8.077556969611615,6.0429380755628435],"clean":true,"jpeg":[4928,3280],"margin":0.27022865819945197,"score":0.8459071469181635},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON Df","size":[4992,3292],"white":4080.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":12,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-df-4992x3292-12bit-3.nef","frame":{"at":[8.131672535017442,6.125325801476691],"clean":true,"jpeg":[4928,3280],"margin":0.2521038670490052,"score":0.8204434177055658},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON Df","size":[4992,3292],"white":3872.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-df-4992x3292-14bit-2.nef","frame":{"at":[8.124196201896094,6.122177346942158],"clean":true,"jpeg":[4928,3280],"margin":0.2585267070435534,"score":0.8295563014469615},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON Df","size":[4992,3292],"white":15488.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":2},"right":{"dark":8,"masked":42},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,6,4928,3280],"file":"corpus/raw/nikon-inventory/extra/nikon-df-4992x3292-14bit-3.nef","frame":{"at":[8.121003123220877,6.104022926801082],"clean":true,"jpeg":[4928,3280],"margin":0.2570802113288917,"score":0.83190195591443},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON Df","size":[4992,3292],"white":15488.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/extra/nikon-d5100-4992x3280-14bit-lossless.nef","frame":{"at":[8.01068034199096,8.029686269115706],"clean":true,"jpeg":[4928,3264],"margin":0.37762191306608917,"score":0.8926857172435795},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5100","size":[4992,3280],"white":16383.0} +{"bands":{"bottom":{"dark":0,"masked":0},"left":{"dark":0,"masked":0},"right":{"dark":8,"masked":36},"top":{"dark":0,"masked":0}},"beyond_frame":{"bottom":{"dark":0,"masked":0,"picture":0},"left":{"dark":0,"masked":0,"picture":0},"right":{"dark":0,"masked":0,"picture":0},"top":{"dark":0,"masked":0,"picture":0}},"bits":14,"black":0.0,"crop":[8,8,4928,3264],"file":"corpus/raw/nikon-inventory/extra/nikon-d5100-4992x3280-14bit-uncompressed.nef","frame":{"at":[8.014583073547408,8.037900577847378],"clean":true,"jpeg":[4928,3264],"margin":0.3748761876102942,"score":0.8910891644721247},"in_crop":{"bottom":0,"left":0,"right":0,"top":0},"model":"NIKON D5100","size":[4992,3280],"white":16383.0} diff --git a/docs/nikon-bodies/headers.json b/docs/nikon-bodies/headers.json new file mode 100644 index 000000000..85f80f787 --- /dev/null +++ b/docs/nikon-bodies/headers.json @@ -0,0 +1,296 @@ +{ + "about": "every Nikon raw on raw.pixls.us (index of 2026-10-11): raw image and maker-note crop tags read from the first 1 MB of each file", + "files": [ + {"model": "NIKON D1", "mode": "12bit 12bit uncompressed (3:2)", "cc0": false, "url": "https://raw.pixls.us/getfile.php/201/nice/Nikon%20-%20D1%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "7886d8b0e1257897faa7404b98fe1086ee2d95606531b6285aed83a0939b768f", "raw": {"w": 2012, "h": 1324, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON 1 S2", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": false, "url": "https://raw.pixls.us/getfile.php/205/nice/Nikon%20-%201%20S2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "c9a3eac53afb6ff393458f6a389466af05dcce8a32e97725f7aaef543e2894cb", "raw": {"w": 4608, "h": 3080, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4608, 3080, 4608, 3080, 0, 0], "nef_compression": [4]}, + {"model": "E5400", "mode": "12bit 12bit uncompressed (4:3)", "cc0": false, "url": "https://raw.pixls.us/getfile.php/212/nice/Nikon%20-%20E5400%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "0bc1b12855d1f15aac9d615a3613ec04b7c5354627dfdd50c4251bc27cf44d3a", "raw": {"w": 2608, "h": 1950, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D3X", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": false, "url": "https://raw.pixls.us/getfile.php/231/nice/Nikon%20-%20D3X%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "f52cf0aa29e65218bf80937764ab1946d850d505621e387a74f742d817aa6610", "raw": {"w": 6080, "h": 4044, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4044, 6080, 4044, 0, 0], "nef_compression": [3]}, + {"model": "COOLPIX P7100", "mode": "12bit 12bit-uncompressed", "cc0": false, "url": "https://raw.pixls.us/getfile.php/585/nice/Nikon%20-%20Coolpix%20P7100%20-%2012bit%2012bit-uncompressed.NRW", "sha256": "3cbb4ac4be80226cc3fa7c6ad4f01ea5bb3c640288e3847621e947129489fbd1", "raw": {"w": 3664, "h": 2744, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "COOLPIX P7000", "mode": "12bit 12bit-uncompressed", "cc0": false, "url": "https://raw.pixls.us/getfile.php/598/nice/Nikon%20-%20Coolpix%20P7000%20-%2012bit%2012bit-uncompressed.NRW", "sha256": "09165ec1031b36e6ae43f2263b4400ec4d9c3444ae252d258d002f7e96dbea25", "raw": {"w": 3664, "h": 2742, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "COOLPIX P340", "mode": "12bit 12bit-compressed ((9))", "cc0": false, "url": "https://raw.pixls.us/getfile.php/619/nice/Nikon%20-%20Coolpix%20P340%20-%2012bit%2012bit-compressed%20%28%289%29%29.NRW", "sha256": "ee99efe160b5a20a0df725ed2a0eeb75480fe3a634dd4d0310c9154dc3f5b79c", "raw": {"w": 4032, "h": 3024, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [9]}, + {"model": "COOLPIX P6000", "mode": "12bit 12bit-uncompressed", "cc0": false, "url": "https://raw.pixls.us/getfile.php/651/nice/Nikon%20-%20Coolpix%20P6000%20-%2012bit%2012bit-uncompressed.NRW", "sha256": "652d96bf6fc6979a7791da1781192e7efe5863d83a32196d6ec7e258d4063ff9", "raw": {"w": 4240, "h": 3174, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D3200", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/743/nice/Nikon%20-%20D3200%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "91657dd8e9c7a086826683f6d20799685657dd7ca2056702b145851465f57cd3", "raw": {"w": 6080, "h": 4012, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4012, 6080, 4012, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D800", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/750/nice/Nikon%20-%20D800%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "26d58c21ed3019af5a22ef6bc02f017b863aad9eafcf84252ed375cd495c0efb", "raw": {"w": 7424, "h": 4924, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D800", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/751/nice/Nikon%20-%20D800%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "f5b7906869da3e48cb85ec08c5fa97c4c3ff8ab491825a89ac5ed0fff11fef5d", "raw": {"w": 7424, "h": 4924, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D800", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/755/nice/Nikon%20-%20D800%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "fd34b869e799fa6b1a4940ddcd60cd74b1624b6244e923caf1dbdbe7866d9eac", "raw": {"w": 7424, "h": 4924, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": null}, + {"model": "NIKON D800", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/756/nice/Nikon%20-%20D800%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "2cc08a8722e1a53d7a19631b8ac1ce1084861358d9eec751a4d639744e3c657f", "raw": {"w": 7424, "h": 4924, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D800", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/757/nice/Nikon%20-%20D800%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "317766527a1a9019985d6b41c4b400f89e8fb8621f468a0826b77d17263ab648", "raw": {"w": 7424, "h": 4924, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D800", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/759/nice/Nikon%20-%20D800%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "e096d28a860f8b7afe3abde4ccc5cec5bcda229d137b4919cd821a2fc9bf87b2", "raw": {"w": 7424, "h": 4924, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": null}, + {"model": "NIKON D40X", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/804/nice/Nikon%20-%20D40X%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "c3e4956f7e2d1f1b3f846b6ec9552678073db0bcaeb51132ec4c60bd2229d56e", "raw": {"w": 3904, "h": 2616, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2616, 3904, 2616, 0, 0], "nef_compression": [1]}, + {"model": "NIKON D200", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/824/nice/Nikon%20-%20D200%20-%2012bit%2012bit%20uncompressed%20%283:2%29.nef", "sha256": "d468895b0b30a60d05a7f6468d69f2f15830dd49b2d82698b34245072a22e747", "raw": {"w": 3904, "h": 2616, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 3904, 2616, 3904, 2616, 0, 0], "nef_compression": null}, + {"model": "NIKON D7200", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/832/nice/Nikon%20-%20D7200%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "5dea8ff6f95f372e4eb0852f75e728f182d7aa4057b2b76631f0fd3066c6a4b5", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7200", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/833/nice/Nikon%20-%20D7200%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "60f6a525322124949fd3b99e884b78b1ad95d80d8a9e03b897b881a6f50ae2ff", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7200", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/834/nice/Nikon%20-%20D7200%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8dc6c5c796238056309dbb9c158917e56bbd7033e260e5b0d3736ad71c88cc60", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7200", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/836/nice/Nikon%20-%20D7200%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "9360c9980a20d56a43727493e5d87113b28c3ef205deb5516d5c2508f8aa5db8", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D610", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/888/nice/Nikon%20-%20D610%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "11f0a71bb4141a8ed44c7e1c64f9a12571f5f67a11571f2bde8516aa95a7bea3", "raw": {"w": 6080, "h": 4028, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D610", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/889/nice/Nikon%20-%20D610%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "a6de67362a7ae053f36115e639a806f3f5a1c10b89f0a4ed21e95cdc27b7b8cc", "raw": {"w": 6080, "h": 4028, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D610", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/890/nice/Nikon%20-%20D610%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ec3676c6a17d23d1d2e29519b9bd0bd32dc54f560784d61ef8bc9aaf0a5436c0", "raw": {"w": 6080, "h": 4028, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D610", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/891/nice/Nikon%20-%20D610%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "947ab8a6612a9fd3eaeed193030cbe5fc650d2daa2dff7b5e11051dc6b953366", "raw": {"w": 6080, "h": 4028, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D750", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/895/nice/Nikon%20-%20D750%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "e4a3f85e014275fc0a47600a373af95ec850872a5f6cf87649bcaa42b77ef2e4", "raw": {"w": 6032, "h": 4032, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 6032, 4032, 6032, 4032, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D750", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/896/nice/Nikon%20-%20D750%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3389da2bd0997be2f8e1408d8d0fba09f5062de05c4017a0bbf2849d8f0cd2a1", "raw": {"w": 6032, "h": 4032, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 6032, 4032, 6032, 4032, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D750", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/897/nice/Nikon%20-%20D750%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "baae8dfc05a81a4a4034831a49ed99d129e797858ad876d31173a46d33b7d3ea", "raw": {"w": 6032, "h": 4032, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 6032, 4032, 6032, 4032, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D750", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/898/nice/Nikon%20-%20D750%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "f90deb2819863f5a6ca9913c255fdd83a94963f4284eb88df9d389da7a6c7665", "raw": {"w": 6032, "h": 4032, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 6032, 4032, 6032, 4032, 0, 0], "nef_compression": [3]}, + {"model": "COOLPIX P330", "mode": "12bit 12bit compressed ((7)) (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/912/nice/Nikon%20-%20Coolpix%20P330%20-%2012bit%2012bit%20compressed%20%28%287%29%29%20%284:3%29.NRW", "sha256": "bff89a1a985c834f894b6bb2c7989ed265ab96c5f5a2e981a713d6fe836df3f0", "raw": {"w": 4032, "h": 3024, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [7]}, + {"model": "NIKON D600", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/916/nice/Nikon%20-%20D600%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "a70c3e54501efa7e4391ec4cf5705912a10c356a029e984ee13be5f68bc7482d", "raw": {"w": 6080, "h": 4028, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D600", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/917/nice/Nikon%20-%20D600%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6dd9470e0ab44ecf6d1a5341a5314edfbeaf091ecda414f6881c37ea5b0179c0", "raw": {"w": 6080, "h": 4028, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D600", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/918/nice/Nikon%20-%20D600%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c434e4d3f225a09d8d9d05f8709a7ac537fedda295062f9eb392092038305038", "raw": {"w": 6080, "h": 4028, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D600", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/919/nice/Nikon%20-%20D600%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "d96ff1bfa0bccaf5e900c7e1cdd0ebb87c4b15dda959e1f9a40075c1ba7fbcfa", "raw": {"w": 6080, "h": 4028, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6080, 4028, 6080, 4028, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 J2", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/923/nice/Nikon%20-%201%20J2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "81051ee36135883acea55bd1e609d6d31212c0bf03640b7ae9fe177a1ca51219", "raw": {"w": 3904, "h": 2606, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2606, 3904, 2606, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D300", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/924/nice/Nikon%20-%20D300%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "8b989f53c96995f7014ddd16124530cf6d8f3341ea9570d6312d9da1eb0a117a", "raw": {"w": 4352, "h": 2868, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D300", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/925/nice/Nikon%20-%20D300%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0d47cd75b79e172124d0a3c51fb36fdcc21a33157b30bac38028e55465bf9b6d", "raw": {"w": 4352, "h": 2868, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D300", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/926/nice/Nikon%20-%20D300%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "0261523d0ab4694df0219404eb08af5db04697a05e85718e7f7bd42d283205f4", "raw": {"w": 4352, "h": 2868, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": null}, + {"model": "NIKON D300", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/927/nice/Nikon%20-%20D300%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "7e6d38ddebe82784dc8c84cdf02dce7bcfe74b71b0dec91b28551936102c39b9", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D300", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/928/nice/Nikon%20-%20D300%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "f1162624678ae9b0e0e835fcbe77d97584fc88ceefd996e38ee126942b54bc8c", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D300", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/929/nice/Nikon%20-%20D300%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "1e0ff56bba6561182c80cff3cca5b912746990523ea777123b4860c42a7f080a", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": null}, + {"model": "NIKON D7000", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/958/nice/Nikon%20-%20D7000%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "639945753240005d80488c0462c01e73a7ab82c96d3d1cdb6661f02e1b3c1319", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7000", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/959/nice/Nikon%20-%20D7000%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "65d8d063de99befa2f8463c3b1114cb5bf71e35aed6466d36fca39e83d0353bc", "raw": {"w": 4992, "h": 3280, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7000", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/960/nice/Nikon%20-%20D7000%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "b8953c3e0ff4e4ca7668f4ea8eef0532b04503162d53e31bfcd7946c05a2cbfe", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7000", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/961/nice/Nikon%20-%20D7000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "986db2bf9ed08cf095bb94cfbaf02f0e89d123edad28b63c05133e7815749486", "raw": {"w": 4992, "h": 3280, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 J1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1017/nice/Nikon%20-%201%20J1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "5965935729931b72ca8398041f8fc15cb0a226004db941d1f0626ccc2c5bb5f3", "raw": {"w": 3904, "h": 2606, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2606, 3904, 2606, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D70s", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1117/nice/Nikon%20-%20D70s%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "6c46f9854033e7623ebbb5de8c951df6762ca44f05d45035ccc5cb7e9f4e5692", "raw": {"w": 3040, "h": 2014, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [1]}, + {"model": "NIKON 1 AW1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1171/nice/Nikon%20-%201%20AW1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "519d354ec40907f1cd30329fc1a641ddec5b46e08e88883f3cf2fddc4ddd9974", "raw": {"w": 4620, "h": 3084, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4620, 3084, 4620, 3084, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D50", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1282/nice/Nikon%20-%20D50%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "9f94c27672a63f946c92d43910ef0c266dffaa14dae0007ae00ac72d2c684935", "raw": {"w": 3040, "h": 2014, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [1]}, + {"model": "NIKON D800E", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1303/nice/Nikon%20-%20D800E%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "4559b9614ab6d558192d9d30e1db4a4ec44752553e45b2bd26c1569c1820441a", "raw": {"w": 7424, "h": 4924, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": null}, + {"model": "NIKON D90", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1325/nice/Nikon%20-%20D90%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "9eb3daa4e3d1c1614bccc4c6d136c4166960f936f17c437cc4d11a5786b2df06", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5000", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1341/nice/Nikon%20-%20D5000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "5f8e8005be87366bbf7746d35c3c88f82a12a1dd18206c939d8f1254c5922360", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 J5", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1342/nice/Nikon%20-%201%20J5%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "56efc4f426fa489383a967102c6d30fa9d6b198ca0484c4725c91f0b0d47c063", "raw": {"w": 5584, "h": 3726, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 5584, 3726, 5584, 3726, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Df", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1385/nice/Nikon%20-%20Df%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "38ea7aba6b7e0cdbd338fe6703d3c98291f4a9a28b0d1a81bfb1f77b21712c63", "raw": {"w": 4992, "h": 3292, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": null}, + {"model": "NIKON Df", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1386/nice/Nikon%20-%20Df%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "902483437706df59bed669ebb4eb7d9ecaf95b23a70d6c79e319316ce50ee884", "raw": {"w": 4992, "h": 3292, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Df", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1387/nice/Nikon%20-%20Df%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c235099efa19a02f50174dfe473c5d4da1e190d44d9153604486a79cbcf120df", "raw": {"w": 4992, "h": 3292, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Df", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1388/nice/Nikon%20-%20Df%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "452ed50be5e212cf7832cd5fc992d920206cebde8864c073988aeaf5a9d07708", "raw": {"w": 4992, "h": 3292, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Df", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1389/nice/Nikon%20-%20Df%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "b3240362af7342d23afe69e5947b34c6ba7cfc46d49aae767c286f493ecc24d0", "raw": {"w": 4992, "h": 3292, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": null}, + {"model": "NIKON Df", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1390/nice/Nikon%20-%20Df%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "65b940bc1436e5df406bdfd83dcfeffcbed9da5b96db67fa03036ec840cecbf9", "raw": {"w": 4992, "h": 3292, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D5600", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1415/nice/Nikon%20-%20D5600%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "82e15f02c4037820e80f14bacfacdc52ea29721b3c70d2cf08b237b50ce8db05", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5600", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1416/nice/Nikon%20-%20D5600%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0917e0ffdd7aa648ed35d99d1858b5a4ab81f62d5a0418d4bcfe3799fc59a7a0", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "COOLPIX P7800", "mode": "12bit 12bit compressed ((7)) (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1425/nice/Nikon%20-%20Coolpix%20P7800%20-%2012bit%2012bit%20compressed%20%28%287%29%29%20%284:3%29.NRW", "sha256": "27ac09537dd0f75523864dcf221278e2db354d490534bc13b6eabdc031060e51", "raw": {"w": 4032, "h": 3024, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [7]}, + {"model": "NIKON D5500", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1469/nice/Nikon%20-%20D5500%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "96d5b85dae24e190691c504781d8e7ee58cb9b63ea715760de9af3d345dc4c13", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5500", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1470/nice/Nikon%20-%20D5500%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6e0681b54ef808913a31530e0e320751dbb910f53fbca1b4bd65329f8f129b01", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7500", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1531/nice/Nikon%20-%20D7500%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "ad53ee232836ba707d3d6820b5f9c015f129599aef7737adcec4a07b803b8891", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7500", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1532/nice/Nikon%20-%20D7500%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "1f4e58a961d3d317fa39a7e1c8948b825651e968c8cd06e49e4239f612faccad", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7500", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1533/nice/Nikon%20-%20D7500%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "02f9bdceb66f776233225231a3be8b11ea66f0a8b4761a41c4a96cca7802c795", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7500", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1534/nice/Nikon%20-%20D7500%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "430b4f1be4e53a011861b63294ad19fdc0353ec3ea62104f77d4c193e3dd3fc8", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D3400", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1561/nice/Nikon%20-%20D3400%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "eced190786231f0081261b6c6b425fe23e42a53ade21dec3def5ae8551be71a5", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6000, 4000], "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5100", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1596/nice/Nikon%20-%20D5100%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "3686f6063ca1c05273c7c1021d47ed57ef50194656e3cfe30d9cae70781b98ef", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5100", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1597/nice/Nikon%20-%20D5100%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.nef", "sha256": "3ce328830942381648be26b372a54b317fdb27b63c1aa9c2ee1fce076a2e1b4f", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D5100", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1598/nice/Nikon%20-%20D5100%20-%2014bit%2014bit%20uncompressed%20%283:2%29.nef", "sha256": "2fb2f1b87a3b89de5ba9e56527f21a912ca624f2fa2a594cef108ee8d7180412", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": null}, + {"model": "COOLPIX B700", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1621/nice/Nikon%20-%20COOLPIX%20B700%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "a175d5892304e79282add07eacf4bdc498ca3f050af48cf989c080355b4735ec", "raw": {"w": 5200, "h": 3902, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D5", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1636/nice/Nikon%20-%20D5%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "13191560a6a9d9ed4156ec5d20863277c9618916aaba934758c5ae2be6654f6a", "raw": {"w": 5584, "h": 3728, "bits": 14, "compression": 1}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON D5200", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1691/nice/Nikon%20-%20D5200%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6c49ca47d189f9d6766f94be7c9d7d779ce45c79c0c6e48a0eba7d92f320fe0e", "raw": {"w": 6036, "h": 4020, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6036, 4020, 6036, 4020, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 V2", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1693/nice/Nikon%20-%201%20V2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3d29dfa6397b0aa4e72969bb5b85d040e8bebf2e02f61f6364f580ce39f30bf2", "raw": {"w": 4620, "h": 3084, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4620, 3084, 4620, 3084, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3300", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1734/nice/Nikon%20-%20D3300%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "97dfc95aecc00383d6da6197cb759bacb1e43c86071b4ca2d94748e498620f2f", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D1X", "mode": "12bit 12bit compressed (3.0422960725076)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1785/nice/Nikon%20-%20D1X%20-%2012bit%2012bit%20compressed%20%283.0422960725076%29.NEF", "sha256": "ff80b83537a909e6adabeb091a12e4d5c83993e011672705366e7de39601695b", "raw": {"w": 4028, "h": 1324, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D1X", "mode": "12bit 12bit uncompressed (3.0422960725076)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1786/nice/Nikon%20-%20D1X%20-%2012bit%2012bit%20uncompressed%20%283.0422960725076%29.NEF", "sha256": "9fabb93479b17c6de96ec5e5247de3b0a0a6e90101a8c8fc03356937af5d7014", "raw": {"w": 4028, "h": 1324, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON 1 J3", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1814/nice/Nikon%20-%201%20J3%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "996d65705bf1ac9f83f055817ea92618ea44c822109196d7d97a803a0268b576", "raw": {"w": 4620, "h": 3084, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4620, 3084, 4620, 3084, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D850", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1835/nice/Nikon%20-%20D850%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "31b7fe298a5c91694c6ca8b3284a0a016e572a02c3964b502d4732e8e9283da8", "raw": {"w": 6216, "h": 4136, "bits": 12, "compression": 34713}, "crop_area": [12, 4, 6192, 4128], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D850", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1836/nice/Nikon%20-%20D850%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "1aba8fe0a0d5f3a990da08bea906f3bd8aaff438982fa37bf8232d1a47a99300", "raw": {"w": 7104, "h": 4728, "bits": 12, "compression": 34713}, "crop_area": [15, 5, 7074, 4716], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D850", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1837/nice/Nikon%20-%20D850%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "61dff3d1b520b46d81bc948b2d1614e56f75142a4aea0aa1d8c28d35ce118a8f", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D850", "mode": "12bit 12bit compressed ((6)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1838/nice/Nikon%20-%20D850%20-%2012bit%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "fb438957983d72567a740bcb93365feb1bbcd75db629eb9626f31fa548a24484", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [6]}, + {"model": "NIKON D850", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1839/nice/Nikon%20-%20D850%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "ba11bc767b4f67144a8b7b5d27fa0fe2be8e69e5fcc5e0161f80623794f294f4", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D850", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1840/nice/Nikon%20-%20D850%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "0c9438258ddae5260b9f5a1aace6658a723f1cb1acace3a6cb507116dc6da4f2", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D850", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1841/nice/Nikon%20-%20D850%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "e54b5d4f0d5c721a90309741c60754e687750f1b2d366ac2587d870eef121126", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D850", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1842/nice/Nikon%20-%20D850%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "ce1fb927aca4f0ac3a1fa5caded0d7859560988e500f71177287310fd1a3d845", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 1}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON D7100", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1855/nice/Nikon%20-%20D7100%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "b241cb95b1008f25b8ed7d1443354e8cc7dee9c4d4e1edd0a5856d92063a48d0", "raw": {"w": 6036, "h": 4020, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6036, 4020, 6036, 4020, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7100", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1856/nice/Nikon%20-%20D7100%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "9c6ec61079c3511fed302e9ccf1da31439fb7d4402b555ec6f14404cb67db742", "raw": {"w": 6036, "h": 4020, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6036, 4020, 6036, 4020, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7100", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1857/nice/Nikon%20-%20D7100%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "b9e1ac6c38eb06a9d296bbafe81ca403a7f1520d61735603cb238b9ae6a35fce", "raw": {"w": 6036, "h": 4020, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6036, 4020, 6036, 4020, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D7100", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1858/nice/Nikon%20-%20D7100%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "48b86be680b631291e193660daeece2ca1515583c9780ab9fcff2ea80628d3d1", "raw": {"w": 6036, "h": 4020, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6036, 4020, 6036, 4020, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3400", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1876/nice/Nikon%20-%20D3400%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "69d1f76c3a206f846a3e3957663f0f3285ac4d1c74494443314019a7e889ca62", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6000, 4000], "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 J5", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1883/nice/Nikon%20-%201%20J5%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "92b7e0a7637e5e498011372786a988aea3b431b0427ee10f9021469ecd6408e3", "raw": {"w": 5584, "h": 3726, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 5584, 3726, 5584, 3726, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D4", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1974/nice/Nikon%20-%20D4%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "23aa2dd3c409b3cbbfeea3e3f7b6752180efa15430d6e059e87404e969875cd7", "raw": {"w": 4992, "h": 3292, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": null}, + {"model": "NIKON D4", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1975/nice/Nikon%20-%20D4%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "aefb8b307361b5d5ed27fadb8a3a810d8c174f258313c77c57187eb829aa30cb", "raw": {"w": 4992, "h": 3292, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D4", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1976/nice/Nikon%20-%20D4%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "35ed038a1a55988b62fa29eb27f9c1f6088b79de10ff2f447861b1accdb0a317", "raw": {"w": 4992, "h": 3292, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D4", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1977/nice/Nikon%20-%20D4%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "90a8fe82c2ca66cb925590370187a16773b455fb655671967443fcc423bf0351", "raw": {"w": 4992, "h": 3292, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": null}, + {"model": "NIKON D4", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1978/nice/Nikon%20-%20D4%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "1148bcbf80106b21f7788d0b926751bf5a14ebb5b8cf45ff67bf5bfe6b4ac84f", "raw": {"w": 4992, "h": 3292, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D4", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1979/nice/Nikon%20-%20D4%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "e549dfba6667148c726100b5e1871e449657284aa5023b2a5f51a35394750480", "raw": {"w": 4992, "h": 3292, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3292, 4992, 3292, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D80", "mode": "16bit (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/1988/nice/Nikon%20-%20D80%20-%2016bit%20%283:2%29.dng", "sha256": "5095ca264e763624cd3aa62940286dd1bcff4504eefa1ce61cbb72f50f8426bb", "raw": {"w": 3900, "h": 2611, "bits": 16, "compression": 7}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D810", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2029/nice/Nikon%20-%20D810%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "40a9df99865ad25a68b1131014cf954fb72da8bc32991b6a5e19d14937e21bc9", "raw": {"w": 7380, "h": 4928, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D810", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2031/nice/Nikon%20-%20D810%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "ea612ad3a01aaa76f6e9064eadb5c1746771875bd2ec81984667b28359b5c78d", "raw": {"w": 7380, "h": 4928, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D810", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2032/nice/Nikon%20-%20D810%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "5d8a476f33d350cc90fcb3e3df7c012ddea8e3ab6a81a89c5368fa632a3d04c9", "raw": {"w": 7380, "h": 4928, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": null}, + {"model": "NIKON D810", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2033/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ea8baa753dc1d77fdabb3f35048f71aa3c99d5b675f50f6a8d301ab287f5fd68", "raw": {"w": 7380, "h": 4928, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D810", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2034/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6aa49c8cdfcde936b10a342d4901391fe4dcdb54cfb6b9b5d02ce46c65ac5ebf", "raw": {"w": 7380, "h": 4928, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D810", "mode": "12bit 12bit compressed ((6)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2035/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "19519ee6c6b713a1afe45daf5ce9be4054aa6fae3b5db9df915b4b30be63126b", "raw": {"w": 7380, "h": 4928, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": [6]}, + {"model": "NIKON D810", "mode": "12bit 12bit compressed ((8)), small raw (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2036/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28%288%29%29%2C%20small%20raw%20%283:2%29.NEF", "sha256": "0cb5b8193ddc1de57fcc5f2091d0f7e8476f3b3af4beeb1ccc73d45f1c7a6bed", "raw": {"w": 3680, "h": 2456, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 7384, 4928, 7380, 4928, 0, 0], "nef_compression": [8]}, + {"model": "NIKON D70", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2060/nice/Nikon%20-%20D70%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "dd6405aeb33b0cd5bf66c98ba98ccbb478a765450cfd130810e470dab8d1f4b4", "raw": {"w": 3040, "h": 2014, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [1]}, + {"model": "E8400", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2082/nice/Nikon%20-%20E8400%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "84ca3fd7f6e684f1469bd02f1d715b4ccb0716ce0bd42200aeda32ef5b9c8562", "raw": {"w": 3280, "h": 2454, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D80", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2104/nice/Nikon%20-%20D80%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "745cb067eea6dbb92d3088ee66e8a28bf4912848b43adb6ee30bec3ca0b1d066", "raw": {"w": 3904, "h": 2616, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2616, 3904, 2616, 0, 0], "nef_compression": [1]}, + {"model": "NIKON D5500", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2127/nice/Nikon%20-%20D5500%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "5538d77857efda5fb450d43f4a96a4786790a3721c536f1c4d81c0acaf5cf48a", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3000", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2161/nice/Nikon%20-%20D3000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "a07ee8a0b1ff7a1ad06085306ef8f9a197d95fec639994467317c56108eeb435", "raw": {"w": 3904, "h": 2616, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2616, 3904, 2616, 0, 0], "nef_compression": [1]}, + {"model": "NIKON 1 J1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2177/nice/Nikon%20-%201%20J1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "fd60658d99da9d4048c462bba266c657b931b317820f630bdc143c6d6ee1faab", "raw": {"w": 3904, "h": 2606, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2606, 3904, 2606, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 V1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2210/nice/Nikon%20-%201%20V1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0dc76bc274f9cb776eb930683a4e53a3ebede1719abafd1cba4b0c800f13f7e4", "raw": null, "crop_area": null, "crop_hi_speed": [0, 3904, 2606, 3904, 2606, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 V1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2217/nice/Nikon%20-%201%20V1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8315c5c5c786703d057ed44339cdff7e82844bb8b21c254ac80942f65d8e6b77", "raw": {"w": 3904, "h": 2606, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2606, 3904, 2606, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2218/nice/Nikon%20-%20D5%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "febde1abbb52dcd207f10d44412742af491d63ef96a9cbd8a491a33b98944eeb", "raw": {"w": 5584, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D4S", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2220/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "49067c81374549465f3c621acd249bf05dbdef4e44b9201fef1fb11c93572983", "raw": {"w": 4936, "h": 3288, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D4S", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2221/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3120d2b3680ec2b9cd017553dd32be2081e62ca220b6e2e7e8988016662042d4", "raw": {"w": 4936, "h": 3288, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D4S", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2222/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "1613a1622ac7fcc67ece0ef65b386d03a066ace2ab15933dea79efa3fa371ae9", "raw": {"w": 4936, "h": 3288, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": [6]}, + {"model": "NIKON D4S", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2224/nice/Nikon%20-%20D4S%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "d31b3213a1aa4dd1bbbd59015bcc5459b7b6e968a96a5eff55099ae914c2ee8e", "raw": {"w": 4936, "h": 3288, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": null}, + {"model": "NIKON D4S", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2225/nice/Nikon%20-%20D4S%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8726fceea6aaae58b5341e4a78316ee6db463c5a07fa2af1c41b9ed3305fe653", "raw": {"w": 4936, "h": 3288, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D4S", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2226/nice/Nikon%20-%20D4S%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "906a6282969659e6dee7a8d37dfff820ab1556be541c7b53aa799b6eec007286", "raw": {"w": 4936, "h": 3288, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D4S", "mode": "12bit 12bit compressed ((8)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2227/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20compressed%20%28%288%29%29%20%283:2%29.NEF", "sha256": "c8256566c01eed83b8f9c4eeec6276a94031d19f607afc511a90cb0c2fa76f9c", "raw": {"w": 2464, "h": 1640, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [11, 4936, 3288, 4936, 3288, 0, 0], "nef_compression": [8]}, + {"model": "COOLPIX A", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2238/nice/Nikon%20-%20Coolpix%20A%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "c5ca0333a7cda8a2fc33fb2157d18dfa89f1844548dc49c2fd2e67f502f72e25", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D700", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2249/nice/Nikon%20-%20D700%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "00c3314f2ccf92aff17644943e6149e8793b517c24bb2c38a15ec41f3af109cb", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D700", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2250/nice/Nikon%20-%20D700%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0f279ad4a3e92859109ce78440e562a8d25b91b8704a79e1245c8e98d9b27cf1", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D700", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2251/nice/Nikon%20-%20D700%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "44a45eb60cde6904894b0191590256f90692474ee90de451822c29d46a927667", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": null}, + {"model": "NIKON D700", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2254/nice/Nikon%20-%20D700%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "6735ee78c8e6718f6333127f6bbd73bbd8ef745b360e3e2033defee4a8d7c2a0", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D700", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2255/nice/Nikon%20-%20D700%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "bfd5e164c3fa10ffdc38237000ccb63f52a53bcd080ceb48de1443534dd17036", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D700", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2256/nice/Nikon%20-%20D700%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "0831d8103a2f2275e479095a75a1217b49e1d415ced439f43c331eb3927f2675", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": null}, + {"model": "NIKON D5600", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2260/nice/Nikon%20-%20D5600%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "4d9b49e6eb8a9e055b10be67f580a9c42538132e3a6e808d2fd08826c644827e", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5600", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2261/nice/Nikon%20-%20D5600%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "7ea7d00ec7c4de55398ad258c6dd9952237ab8110ea0bfc7b29b4e17c1090719", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D500", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2504/nice/Nikon%20-%20D500%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "33c96a2ba7167f780928767c0545719737d601883e5f98e5edba4f71bdc99d83", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D500", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2506/nice/Nikon%20-%20D500%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "9e05c61fd5b02dc11233e45b4f1e3f6d60ed2ccd0b72f9e7cc487b76f3a9ba72", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D500", "mode": "12bit 12bit compressed ((6)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2508/nice/Nikon%20-%20D500%20-%2012bit%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "0755e3703df5a5f9c7f132f49a40b94e09c71a62a8b8faea50e83175cbd84228", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [6]}, + {"model": "NIKON D500", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2510/nice/Nikon%20-%20D500%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "658060f858cc070076a4a40eec82c4c63bc76515a463ebbba714e709a9de8983", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D500", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2512/nice/Nikon%20-%20D500%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "90995baaad6eb2f8c0257b8a38ff6c25557fa8d411f29b84630759d9563e35fd", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D500", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2514/nice/Nikon%20-%20D500%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "9498d65c876d3d548c2361191ec0b64bc999abd78cea67f28e2a7c7d01890676", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 1}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON D500", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2516/nice/Nikon%20-%20D500%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "4c9ca014c09bad1c945a2ca5d0532207a99b274419117c52ce6b700246d6bab6", "raw": {"w": 4800, "h": 3192, "bits": 12, "compression": 34713}, "crop_area": [15, 6, 4770, 3180], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D500", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2518/nice/Nikon%20-%20D500%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "290ea97c0aa0f490cc1eca0bbfb68048f20219bd921682907d04a8bf8a6bcc70", "raw": {"w": 4200, "h": 2792, "bits": 12, "compression": 34713}, "crop_area": [12, 4, 4176, 2784], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D5200", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2540/nice/Nikon%20-%20D5200%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "daf6c47d846ac9d96df26c75ae01eadad03c9056b27da08b035204b5de1756d6", "raw": {"w": 6036, "h": 4020, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6036, 4020, 6036, 4020, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D800E", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2552/nice/Nikon%20-%20D800E%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ec31bc8517cbb1247867aebd7b604c29de015f09bb1d2610b68a8fdb0d219dd7", "raw": {"w": 7424, "h": 4924, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 7424, 4924, 7424, 4924, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D7000", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2578/nice/Nikon%20-%20D7000%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "6d5aab3dbab2d77deab82ea5dfc72608e60a97315d869d6a55dac596e8691616", "raw": {"w": 4992, "h": 3280, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4992, 3280, 4992, 3280, 0, 0], "nef_compression": [4]}, + {"model": "E8800", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2769/nice/Nikon%20-%20Coolpix%20E8800%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "4a9bc7214e5eee808f46bc64cfa7d50d830e094f92253b52bb30a6abee684a78", "raw": {"w": 3280, "h": 2454, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2788/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "ef046d37ffb11807648dd0b55589c02825f98c2c99416f4a7a74ae965a8eeb72", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2789/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "e54a6c4264bf685214f538036fd9d39088e510b2bfedf288e568f0db1897880e", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2790/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "f0e756dbfd00f3b71cb3d8aa5b9e2e1be32f1052a6c4380e09ebc7c5e7748114", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2791/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "f15d7a8abd777678e1a148e4ad4a177e9cd51cdd82184219eb0640f466b265d4", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2792/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "c861546fbcf5826d5eb26d223e2143fa32968e89f7edbc5bb10c283ea5461ded", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2793/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "1172f414821cec2fd1e51e0ba9fde48476f5d40ee85b9268d54aedcae6d9ee70", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2794/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "2f931c441f8e31102c5d5b8a417a0e925e63257cbf1d0ca199164c7a96d6cd54", "raw": {"w": 7104, "h": 4730, "bits": 12, "compression": 34713}, "crop_area": [15, 7, 7074, 4716], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 7", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2795/nice/Nikon%20-%20Z%207%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "85e08750866f339f9e810b9004e542b0a623edf83df911459c7ae0057fe1a1dd", "raw": {"w": 6216, "h": 4140, "bits": 12, "compression": 34713}, "crop_area": [12, 6, 6192, 4128], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON 1 V3", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2802/nice/Nikon%20-%201%20V3%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3f5376481f9ae59e9712b537dcc4eaffa72e311a8768c5396414506ae2eb1d69", "raw": {"w": 5248, "h": 3504, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 5248, 3504, 5248, 3504, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5000", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2825/nice/Nikon%20-%20D5000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "b6fb03eaded625af8ed024da232fdd7d433c06a457bd9a7a27a6f9ca2c42a228", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D2Hs", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2852/nice/Nikon%20-%20D2Hs%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "9ea1c3d5d6c8a11f33239079559f1f0c86bbdb9440a2c7d2578368647abf7ea4", "raw": {"w": 2496, "h": 1648, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D2Xs", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2871/nice/Nikon%20-%20D2Xs%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "2204bc2e2178bf594e17886ca92a50a94350403a110846ca6e83bdc5f3352706", "raw": {"w": 4320, "h": 2868, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4320, 2868, 4320, 2868, 0, 0], "nef_compression": null}, + {"model": "NIKON D3500", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2902/nice/Nikon%20-%20D3500%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "b53395f74674588a63f6b667325c5a2b400f26cba72ff402a65ddd02c5f841d5", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6000, 4000], "crop_hi_speed": [12, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON 1 J1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2956/nice/Nikon%20-%201%20J1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "1d3b7c26b012cf585d46a28c9c83876d687a6e215b7d0bdf8d062c82ab626401", "raw": {"w": 3904, "h": 2606, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2606, 3904, 2606, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D100", "mode": "12bit 12bit compressed (Uncompressed) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/2996/nice/Nikon%20-%20D100%20-%2012bit%2012bit%20compressed%20%28Uncompressed%29%20%283:2%29.NEF", "sha256": "1889abfd1ed64048c90b0c3384e1e0be9bbb021692249427e90848d5d1e9c8f0", "raw": {"w": 3034, "h": 2024, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [2]}, + {"model": "NIKON D300S", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3049/nice/Nikon%20-%20D300S%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "de950a2263c87f085ee611a21e69fc4e0ecb6e417fff61ff6a23ea3121e21a81", "raw": {"w": 4352, "h": 2868, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D300S", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3052/nice/Nikon%20-%20D300S%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "34749388e846408eb1633991ca774b341e5d7d9752df8c5538eab281cecf4c83", "raw": {"w": 4352, "h": 2868, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D300S", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3053/nice/Nikon%20-%20D300S%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "a7dea59999273727cb73d3a7854aa01162c30f06d7fbb5c826dd61a54ba07934", "raw": {"w": 4352, "h": 2868, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": null}, + {"model": "NIKON D300S", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3054/nice/Nikon%20-%20D300S%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c6723c94d8f3054013b2e927de7b82ae60df16518e737a9f10f73596285b37af", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D300S", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3055/nice/Nikon%20-%20D300S%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "bb9834d03bc158731aefebc5bef11ab1607c9c8cc12f8ae964e6c1b031696d05", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D300S", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3056/nice/Nikon%20-%20D300S%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "039afbf0a020ace5e654c42d3a0a9e2faf7244cb45f5fd168403028318294662", "raw": {"w": 4352, "h": 2868, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4352, 2868, 4352, 2868, 0, 0], "nef_compression": null}, + {"model": "COOLPIX P1000", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3381/nice/Nikon%20-%20COOLPIX%20P1000%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "1d9470ee083f914e51aa0be782161b432f27f87dbef551a59ec435f5dbc289dd", "raw": {"w": 4624, "h": 3470, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D3", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3516/nice/Nikon%20-%20D3%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "880c60c5f611adf6b70de3d099f8433492de3a3d96866d570122f17f0a651fc8", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3517/nice/Nikon%20-%20D3%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "bd1efee38aab8daf79c199e076785125ece01eb8f5ef6741121b0f313ee4ac04", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": null}, + {"model": "NIKON D3", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3518/nice/Nikon%20-%20D3%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "6c4ca5ac7525c01c972f517503c47389f2f244c1fab2ad4ea9d10c63d36c42e6", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D3", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3519/nice/Nikon%20-%20D3%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0626c09a58ca12ee4c12f919772abd4fd053c7d88c2f2b25e8d9be7c26cc7fd5", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3520/nice/Nikon%20-%20D3%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c280a2afc31fb15f8c0bc8d8cf6fb13b1972f7d913fa673c5db9d1c1f50beddd", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D3", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3521/nice/Nikon%20-%20D3%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "12c75d4ee829261d15031e02d17a8461f05e72575be76b3e19d1fbdba549de54", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3580/nice/Nikon%20-%20Z%206%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "b4cdb8ecf8a971ec023dd242251c6cbfb19966914e37c2311dc9813a7ab5e15f", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "14bit 14bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3581/nice/Nikon%20-%20Z%206%20-%2014bit%2014bit%20compressed%20%283:2%29.NEF", "sha256": "8ca94584578b35a422744c1a610174ce37df0691588edfdecaec3111b3fbbb02", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "14bit 14bit lossless compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3582/nice/Nikon%20-%20Z%206%20-%2014bit%2014bit%20lossless%20compressed%20%283:2%29.NEF", "sha256": "c079345fc93f53a4f0d322f8ddaae505f920c36015f25b58befccaa61db1af31", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3583/nice/Nikon%20-%20Z%206%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "13c1ec5c2d020b3038d9cb660bc0e0b5a52cb9fe12561dec9ba0e9919e9cbee2", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3584/nice/Nikon%20-%20Z%206%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "3cbd9acf9e9bfd7d0c62c46436109556a101f7535c5fd25f86dad6ea61bf3886", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "12bit 12bit lossless compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3585/nice/Nikon%20-%20Z%206%20-%2012bit%2012bit%20lossless%20compressed%20%283:2%29.NEF", "sha256": "59615b65f8a7edc92a845b2a9c8ef313d6e7d7a5d842f94e6adf786da045a6db", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3586/nice/Nikon%20-%20Z%206%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "9d81cd5f5456b0fe2bd841b7c5e668629e51803064913571566a07c16e2bb437", "raw": {"w": 5196, "h": 3462, "bits": 12, "compression": 34713}, "crop_area": [10, 7, 5176, 3448], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 6", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3587/nice/Nikon%20-%20Z%206%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "f0ab08da469ee205f2bc08efd9005778c64cdcb064893cee03768e32e5da1a36", "raw": {"w": 4548, "h": 3030, "bits": 12, "compression": 34713}, "crop_area": [10, 6, 4528, 3018], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON D40", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3618/nice/Nikon%20-%20D40%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "44e88bc77b7a531b22647bcd07b9393c4568062e8f0906d3bbdecb42fbe29e03", "raw": {"w": 3040, "h": 2014, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3040, 2014, 3040, 2014, 0, 0], "nef_compression": [1]}, + {"model": "NIKON Z 50", "mode": "14bit 14bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3647/nice/Nikon%20-%20Z%2050%20-%2014bit%2014bit%20compressed%20%283:2%29.NEF", "sha256": "5e93735923229117abee2779d81f114f180f361e8ae553c9dd9bdaaedb0d9e02", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 50", "mode": "12bit 12bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3648/nice/Nikon%20-%20Z%2050%20-%2012bit%2012bit%20compressed%20%283:2%29.NEF", "sha256": "b25081cf9adcd51fec020b6d227ff094bc0327cbd26d76bad7e1dee3fb4c034a", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON D60", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3698/nice/Nikon%20-%20D60%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "780ce4867e997143acbd1734a889575a5eaeeb40c6afb33b6006c266831caaa6", "raw": {"w": 3904, "h": 2616, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2616, 3904, 2616, 0, 0], "nef_compression": [1]}, + {"model": "NIKON D3X", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3708/nice/Nikon%20-%20D3X%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "48dc0339ef86541aabcc6bb68a6452f603e23a7d7a5597dad0d267f69e3e79d4", "raw": {"w": 6080, "h": 4044, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 6080, 4044, 6080, 4044, 0, 0], "nef_compression": null}, + {"model": "LS-5000", "mode": "uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3721/nice/Nikon%20-%20LS-5000%20-%20uncompressed%20%283:2%29.dng", "sha256": "be615ecfe290e9f843979369edb4402a5613406845972386675d47812b050ca9", "raw": null, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "COOLPIX P950", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3806/nice/Nikon%20-%20COOLPIX%20P950%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "fc6136b9e5a7e133d7dc30fe65baa04c09ff8c18ca3c7ad82b4ffdbb71ce5bef", "raw": {"w": 4624, "h": 3470, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D780", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3825/nice/Nikon%20-%20D780%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "3178d0656e3b5fbe90176e38a1cd608d0b69292299445932dddc9a0b2d196b36", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D780", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3827/nice/Nikon%20-%20D780%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "986488947e552af25c6824667aed5a1622140a581dc57efd4b00f0b55b5e4ae0", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D780", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3828/nice/Nikon%20-%20D780%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "8b786e0ecfb4cca8d94af9b3a114e9e4cab429be251efb6bb06a11a98116d49b", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D780", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/3829/nice/Nikon%20-%20D780%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6ee9e13f6f2532a5ba66f43b75885cf8a3f27f252d39969545f0471eff7d3f6f", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 5", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4136/nice/Nikon%20-%20Z%205%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "9870248c45532080c2459f3b52cdcc4a07bc8846ad50cbb81c7c1c6dc5e36d91", "raw": {"w": 6040, "h": 4032, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 6016, 4016], "crop_hi_speed": [11, 6040, 4032, 6040, 4032, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 5", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4137/nice/Nikon%20-%20Z%205%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ac11b88c978958222af79946c01071f270e0d660ae8fb5e1f15e4c965a25aa54", "raw": {"w": 6040, "h": 4032, "bits": 12, "compression": 34713}, "crop_area": [12, 8, 6016, 4016], "crop_hi_speed": [11, 6040, 4032, 6040, 4032, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 5", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4138/nice/Nikon%20-%20Z%205%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "d893b6f7e7d2c0aa7d4b016a559bf0d9af440c9ec7486119085c2b2368c7a2a4", "raw": {"w": 6040, "h": 4032, "bits": 12, "compression": 34713}, "crop_area": [12, 8, 6016, 4016], "crop_hi_speed": [11, 6040, 4032, 6040, 4032, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 5", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4139/nice/Nikon%20-%20Z%205%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "e675138e7185b026000c97b654b80ac230c5796f48a9180633672ddacee01bed", "raw": {"w": 6040, "h": 4032, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 6016, 4016], "crop_hi_speed": [11, 6040, 4032, 6040, 4032, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 6_2", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4160/nice/Nikon%20-%20Z%206_2%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "1b67d15817dbd4143a1f1089e2f09e319a2a2327c124e2643284509dd7621030", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 6_2", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4161/nice/Nikon%20-%20Z%206_2%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "c79fa1f8986ba059771f125af283dc3b0ed8bd27c46db9e4f83d2a0e3fb34059", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 6_2", "mode": "14bit 14bit compressed ((10)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4162/nice/Nikon%20-%20Z%206_2%20-%2014bit%2014bit%20compressed%20%28%2810%29%29%20%283:2%29.NEF", "sha256": "4c75e683bd4e751615c93842f519579cde8e0e7fbee3cc58ba7f6a1a23f060dc", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [10]}, + {"model": "NIKON Z 6_2", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4163/nice/Nikon%20-%20Z%206_2%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "04ad59c3b97609e72a54ad277ab433444b12392b032207ca7244571f60ab2514", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 6_2", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4164/nice/Nikon%20-%20Z%206_2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "85e9ed4bce4feb439e9e05c3845d557b76d10080c239358821a00759afd9314b", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 6_2", "mode": "12bit 12bit compressed ((6)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4165/nice/Nikon%20-%20Z%206_2%20-%2012bit%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "b0c7a24a4efd41a45ce03bac7eae3056bc5f8fc9dfbd9bdb08b569ab42734205", "raw": {"w": 6064, "h": 4040, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 6048, 4024], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": [6]}, + {"model": "NIKON Z 7_2", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4213/nice/Nikon%20-%20Z%207_2%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "dc83d3e49db54ca9c3a1e41dc847afd213c822d482c40158e42d01ee8968f33b", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 7_2", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4214/nice/Nikon%20-%20Z%207_2%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "f407fbfee6baef21c843b0ecdbfa30219ef6a031c853d9d0ce07391b2e4bf619", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 7_2", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4215/nice/Nikon%20-%20Z%207_2%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "60de3df0af395adac77c20db7f2714760450eaff99f8d0a76834c447bedf7381", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 7_2", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4216/nice/Nikon%20-%20Z%207_2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "5b8322b8bb2bd72a5a824e558d5ee9cdc5790085baaf3e6c14825c3e3b919286", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 7_2", "mode": "14bit 14bit Uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4217/nice/Nikon%20-%20Z%207_2%20-%2014bit%2014bit%20Uncompressed%20%283:2%29.NEF", "sha256": "33a6a4838bc9d80fa1cb2e7c2011e52ca9f4965a26e67b604412c69928d37c45", "raw": {"w": 8288, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [10]}, + {"model": "NIKON Z 7_2", "mode": "12bit 12bit Uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4218/nice/Nikon%20-%20Z%207_2%20-%2012bit%2012bit%20Uncompressed%20%283:2%29.NEF", "sha256": "b2166f9ac7a9f348da74f51055b8e1a03a3bcac7bff8d0863a74618c1b402765", "raw": {"w": 8288, "h": 5520, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 8256, 5504], "crop_hi_speed": [11, 8288, 5520, 8288, 5520, 0, 0], "nef_compression": [6]}, + {"model": "NIKON D3100", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4229/nice/Nikon%20-%20D3100%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "e8113b6e7285155f9f2b88f81566dab63a59cf5559d6915113b74e8c3a8680f6", "raw": {"w": 4672, "h": 3084, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4672, 3084, 4672, 3084, 0, 0], "nef_compression": [4]}, + {"model": "Nikon COOLSCAN V ED", "mode": "uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4269/nice/Nikon%20-%20Nikon%20COOLSCAN%20V%20ED%20-%20uncompressed%20%283:2%29.nef", "sha256": "ed8978b7a0a3270fbaad4c23863d081538b9dbdfbeb25750d5849872b396e7d2", "raw": null, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "Nikon COOLSCAN IV ED", "mode": "uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4282/nice/Nikon%20-%20Nikon%20COOLSCAN%20IV%20ED%20-%20uncompressed%20%284:3%29.nef", "sha256": "268d9a98920a9f3ea3ebf6a2b9ff68b956df74ac0e46b980bee69e7ef3ebc172", "raw": null, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "COOLPIX A1000", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4337/nice/Nikon%20-%20Coolpix%20A1000%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "9b4edd03bbb17d66eacc2a72b30f044969e67666446f3f1ed25e88bb947d4f8a", "raw": {"w": 4608, "h": 3456, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "E5700", "mode": "12bit 12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4456/nice/Nikon%20-%20E5700%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "6efeb5049cb4957f0586c47478caed2c5cfdce23eed6b65f5e65ab50ab7c1294", "raw": {"w": 2576, "h": 1924, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON D6", "mode": "14bit 14bit compressed ((10)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4717/nice/Nikon%20-%20D6%20-%2014bit%2014bit%20compressed%20%28%2810%29%29%20%283:2%29.NEF", "sha256": "8c8cf431f5807e2d216318f8a42e30a4d4f8561e325eb6495d9aa0e466ef53fe", "raw": {"w": 5584, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [10]}, + {"model": "NIKON D6", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4720/nice/Nikon%20-%20D6%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "827bcfff8a3cd86278382c353e4542faab52cf12c365540f30753bb4c6fabc0f", "raw": {"w": 5584, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D6", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4721/nice/Nikon%20-%20D6%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "081d5dbc1d6c97935020d33ffa486dcaa8d4564cbde280cfadcf26ff61da2838", "raw": {"w": 5584, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D6", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4722/nice/Nikon%20-%20D6%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "b409210ee4d9d0f2a6bfcdae8ff413102452cf9cd899652e713f9e8f4e3b9c11", "raw": {"w": 4786, "h": 3194, "bits": 12, "compression": 34713}, "crop_area": [8, 7, 4770, 3180], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D6", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4723/nice/Nikon%20-%20D6%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "979a712d59bb768913572db874bd3c605e83c3be23a91b89d7cf88111af951d4", "raw": {"w": 4188, "h": 2796, "bits": 12, "compression": 34713}, "crop_area": [6, 6, 4176, 2784], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D6", "mode": "12bit 12bit compressed ((6)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4724/nice/Nikon%20-%20D6%20-%2012bit%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "7cd1caa3fbf7f19348ea3cc3dd31927a4bc1b105a4a90dab36a46e7693eacff1", "raw": {"w": 5584, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [6]}, + {"model": "NIKON D6", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4725/nice/Nikon%20-%20D6%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "feb3c34f364c71abeb2fe9f0d24b18835ef8b82f17832fa25229ad6c80a3d86c", "raw": {"w": 5584, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D6", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4726/nice/Nikon%20-%20D6%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3a098e704d0e1af97efc37541b43a37e5b3457d2f4e7828c0d8d9af37332f233", "raw": {"w": 5584, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [8, 8, 5568, 3712], "crop_hi_speed": [11, 5584, 3728, 5584, 3728, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z fc", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4812/nice/Nikon%20-%20Z%20fc%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.nef", "sha256": "4099ecc46ebaca26e2a66a96a8313fed5e8c707b3836ccf0e77a134844b041c1", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z fc", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/4813/nice/Nikon%20-%20Z%20fc%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.nef", "sha256": "e4cabbeaf818eaa77719158ca2f480fbbf413e694f3714b44f01d588bc7a9863", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 9", "mode": "8bit 8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5146/nice/Nikon%20-%20Z%209%20-%208bit%208bit%20compressed%20%283:2%29.NEF", "sha256": "99d0fe24a38f0f7623aeab21440d266a5ac09f9665cf5283f590337e84323c38", "raw": {"w": 8280, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 8256, 5504], "crop_hi_speed": [11, 8280, 5520, 8280, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 9", "mode": "8bit 8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5147/nice/Nikon%20-%20Z%209%20-%208bit%208bit%20compressed%20%283:2%29.NEF", "sha256": "e113deb305d84153b26251ce259d1f839be1f36b048cbe83a4548cbda806c0f5", "raw": {"w": 8280, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 8256, 5504], "crop_hi_speed": [11, 8280, 5520, 8280, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 9", "mode": "8bit 8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5148/nice/Nikon%20-%20Z%209%20-%208bit%208bit%20compressed%20%283:2%29.NEF", "sha256": "be91bac25573adf7ec6320a542105d87b4fb9c956d7b620ec90d57ac2ae6c3f0", "raw": {"w": 8280, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 8256, 5504], "crop_hi_speed": [11, 8280, 5520, 8280, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON D3S", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5203/nice/Nikon%20-%20D3S%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "402898e57007a4176b8686019ef2878c28481f7520c6136127f00148de9960b5", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D3S", "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5204/nice/Nikon%20-%20D3S%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "9b7c39fb4c37a117aecdefdbdb52b35482a092681dfe66068d652b19c47c4eca", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3S", "mode": "14bit 14bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5205/nice/Nikon%20-%20D3S%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "6330d1ab9adaa65de609c2c6cb29948b85579be215de71385db63520825d0db8", "raw": {"w": 4288, "h": 2844, "bits": 14, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": null}, + {"model": "NIKON D3S", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5206/nice/Nikon%20-%20D3S%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c9784f9cfca635be29beb08aad4ed40c60be1ad536eb1186bcd565381fd1056c", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [3]}, + {"model": "NIKON D3S", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5207/nice/Nikon%20-%20D3S%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "322ec3cea1f0be42ea38b3e4974dcfdadd1ff6574743d82d2a59f07242852297", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D3S", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5208/nice/Nikon%20-%20D3S%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "cb7f0877f20d32e8590c0c0889fb365f73037227eb565cf2629cd9725ead6e0a", "raw": {"w": 4288, "h": 2844, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4288, 2844, 4288, 2844, 0, 0], "nef_compression": null}, + {"model": "NIKON D2H", "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5227/nice/Nikon%20-%20D2H%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "155edb938f884ea7372ce98d4ff5f965c3e413b43b95bc9923da6e92082cf914", "raw": {"w": 2496, "h": 1648, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [1]}, + {"model": "NIKON D1H", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5364/nice/Nikon%20-%20D1H%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "d110b80a8b10a3a67b5cd1c15ef33f1a6397557b73d5d3f4e565739f0c072571", "raw": {"w": 2012, "h": 1324, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "COOLPIX P7700", "mode": "12bit 12bit compressed ((7)) (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5495/nice/Nikon%20-%20Coolpix%20P7700%20-%2012bit%2012bit%20compressed%20%28%287%29%29%20%284:3%29.NRW", "sha256": "559aaf6616e092b363e72bb36422c4d1c024da3c0d4ba582126fa16d42e96cb8", "raw": {"w": 4032, "h": 3024, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": null, "nef_compression": [7]}, + {"model": "NIKON D2H", "mode": "12bit 12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5632/nice/Nikon%20-%20D2H%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "27927b15a7145ceae6236b30472b533875d42e7bb2d8bf6f38e3a1babd80cd5b", "raw": {"w": 2496, "h": 1648, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON 1 S1", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5661/nice/Nikon%20-%201%20S1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8e540d40b842f61de69161cb0b8be72b024629c752fd82b6f8d10e460bce88cb", "raw": {"w": 3948, "h": 2604, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3948, 2604, 3948, 2604, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 30", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5812/nice/Nikon%20-%20Z%2030%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "75249c11a3a845367c7a322a1c4e7076f33c785ec2518fc6594c34c185b41161", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 30", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5813/nice/Nikon%20-%20Z%2030%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "03d94c1f184c4236ea8f890ab0fe30e91b65965e8b09cebecc397fba081a607f", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON 1 J4", "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/5922/nice/Nikon%20-%201%20J4%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0e2887892b8cfc80891b2c510721088fcac6d77eff9ba68089f382a0115b274c", "raw": {"w": 5248, "h": 3504, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 5248, 3504, 5248, 3504, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z 30", "mode": "12bit 12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6172/nice/Nikon%20-%20Z%2030%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "6157b2d6c307fda7b12cf1f5e398874bd198ef16f5e8929e20c57c9a57fef58b", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 30", "mode": "14bit 14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6173/nice/Nikon%20-%20Z%2030%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "a952c7baaed05c0f191fa3698262a1a894e54e3799dd34dc1ead0f63cf09e2ca", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z 8", "mode": "8bit 8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6616/nice/Nikon%20-%20Z%208%20-%208bit%208bit%20compressed%20%283:2%29.NEF", "sha256": "82df041542b8d328738443bb5ff3373b396e406ecc8cbe7dc3b35252790c53e7", "raw": {"w": 8280, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 8256, 5504], "crop_hi_speed": [11, 8280, 5520, 8280, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 8", "mode": "8bit 8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6617/nice/Nikon%20-%20Z%208%20-%208bit%208bit%20compressed%20%283:2%29.NEF", "sha256": "c13a8675294456b9c979e6c1e556951654f35377b2870af2874bfb556f21ce40", "raw": {"w": 8280, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 8256, 5504], "crop_hi_speed": [11, 8280, 5520, 8280, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z 8", "mode": "8bit 8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6618/nice/Nikon%20-%20Z%208%20-%208bit%208bit%20compressed%20%283:2%29.NEF", "sha256": "ea8b093cd11c946c5eeb501b775859e8e617ce1d79577abc41b233c339e4004c", "raw": {"w": 8280, "h": 5520, "bits": 14, "compression": 34713}, "crop_area": [12, 8, 8256, 5504], "crop_hi_speed": [11, 8280, 5520, 8280, 5520, 0, 0], "nef_compression": null}, + {"model": "NIKON Z f", "mode": "14bit 14bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6885/nice/Nikon%20-%20Z%20f%20-%2014bit%2014bit%20compressed%20%283:2%29.NEF", "sha256": "83c82be0be8865d796096dfbcc8ef2abf5af1bd37db44dfad6715070b0c99d15", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z f", "mode": "8bit 8bit lossy compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6886/nice/Nikon%20-%20Z%20f%20-%208bit%208bit%20lossy%20compressed%20%283:2%29.NEF", "sha256": "c888f109dc420e359853a2ce768d8a6274b8ba0109b2f5cb6e0c982981d5a624", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z f", "mode": "8bit 8bit lossy compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/6887/nice/Nikon%20-%20Z%20f%20-%208bit%208bit%20lossy%20compressed%20%283:2%29.NEF", "sha256": "98d6ca8e6c98048ca7ffed68ccaeda7b2b9f03807f0d320d97d5678db21748c2", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "COOLPIX P1100", "mode": "12bit uncompressed (4:3)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7689/nice/Nikon%20-%20Coolpix%20P1100%20-%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "706840f7a36c3852092d4aad0465e75920e04f1aa653adf31626c0c05ab41258", "raw": {"w": 4624, "h": 3470, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": null, "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7735/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "465aba7a444c013063b3a85d7dca1595e4ce1c77fdd115b781b952d490af7258", "raw": {"w": 4048, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 4032, 4032], "crop_hi_speed": [17, 6064, 4040, 4048, 4040, 1008, 0], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7736/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "6d087e8860491a9a871edbd145fa9a423ad41e06d787be4e0fec30b925c38218", "raw": {"w": 6064, "h": 3416, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 3400], "crop_hi_speed": [6, 6064, 4040, 6064, 3416, 0, 312], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7737/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "196971ea960cfa6f5c0a19cebe515ac118e079c57ceeef850ab3a4995dc7d20f", "raw": {"w": 4000, "h": 2672, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3984, 2656], "crop_hi_speed": [2, 6064, 4040, 4000, 2672, 1032, 684], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7738/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "d8938c5df60f23ea848498752549bc053b2885af4a4ca11746a27c4c220b3457", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7740/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "a605497e0581f4ff174bfd341b596df3253aa7755264cb706e4063d9a1470fc7", "raw": {"w": 4048, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 4032, 4032], "crop_hi_speed": [17, 6064, 4040, 4048, 4040, 1008, 0], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7741/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "06069e1c3fcd4f56e38cfa7508310c9cc0e21dc530cd9f332edea51372056ccc", "raw": {"w": 6064, "h": 3416, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 3400], "crop_hi_speed": [6, 6064, 4040, 6064, 3416, 0, 312], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7742/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "276ef4ad5f02e7917eb959c2f4fcfd19bf2fe9f6b9e3725a93877e43e6ec8eed", "raw": {"w": 4000, "h": 2672, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3984, 2656], "crop_hi_speed": [2, 6064, 4040, 4000, 2672, 1032, 684], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7743/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "b44bb31787098631a396b553454a8ebf960766d9b538521ce9852896bd6df3a8", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7744/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "133d8a624f2d39769dec3cb9e7b9ae81971ae8787b5e8d0675bc6ecd27ddef4b", "raw": {"w": 4048, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 4032, 4032], "crop_hi_speed": [17, 6064, 4040, 4048, 4040, 1008, 0], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7745/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "387d613e1f81e43a704bc349d7c64ef297880a8f306b001baf8be39856c532de", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z5_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7746/nice/Nikon%20-%20Z5_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "ba6c66ece60b18eaf6a3461ecfbccd346af785a1db311b3e651ae0284232a1c8", "raw": {"w": 4000, "h": 2672, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3984, 2656], "crop_hi_speed": [2, 6064, 4040, 4000, 2672, 1032, 684], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7762/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "a3314a026524396e603b461afc4fe61a8a5a3958232f3687bb1c8eca0dcbed93", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7763/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "0add1dad5776669a4896640de31b128032f893e13418f6569da7a4744a05ed42", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7764/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "71c12d398e6f5a01e0e32c2211c40cafdb29e85ba1e17c4f65e7a4e958754c54", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7765/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "ba925fc9fed35a82e279eb4e102d2221e36d35a8df3e21fb24037e0e518b715a", "raw": {"w": 3728, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3712, 3712], "crop_hi_speed": [18, 5600, 3728, 3728, 3728, 936, 0], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7766/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "605f903e4c07a534c812288bfe3b0ce00716cfb0905c134f7e418e228f455040", "raw": {"w": 3728, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3712, 3712], "crop_hi_speed": [18, 5600, 3728, 3728, 3728, 936, 0], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7767/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "99b2a569356fb084d6946fa6e0b501b014e6e004be0a8e8d564a7b9dab91857e", "raw": {"w": 3728, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3712, 3712], "crop_hi_speed": [18, 5600, 3728, 3728, 3728, 936, 0], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7768/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "32909911193eb2a84db377fd8fd984e2d6ca3646f678ce17932766bbfaa42bb4", "raw": {"w": 5600, "h": 3144, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3128], "crop_hi_speed": [9, 5600, 3728, 5600, 3144, 0, 292], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7769/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "ea847c786c0f0524b8587769c5c29d15194b2bc01eef9cc9babf35d5b554f466", "raw": {"w": 5600, "h": 3144, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3128], "crop_hi_speed": [9, 5600, 3728, 5600, 3144, 0, 292], "nef_compression": null}, + {"model": "NIKON Z50_2", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7770/nice/Nikon%20-%20Z50_2%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "663fd340edbf91cae2e754c2c5c0b2e49e3a25b7a471c1379ecffdb01cfe1599", "raw": {"w": 5600, "h": 3144, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3128], "crop_hi_speed": [9, 5600, 3728, 5600, 3144, 0, 292], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7808/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "da2fd1a263bb9985776d8c40aa2bdcb89dd7d8cc55bfa44dd851727c43709af8", "raw": {"w": 4048, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 4032, 4032], "crop_hi_speed": [17, 6064, 4040, 4048, 4040, 1008, 0], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7809/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "890e6bf952bf87d37491f8a6bd7bbfae3c464e08063767d57bf0d97d588d30df", "raw": {"w": 6064, "h": 3416, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 3400], "crop_hi_speed": [6, 6064, 4040, 6064, 3416, 0, 312], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7810/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "a8fa2cacadcf9dc85475ebcf37fcc32614072bc155e39d01491cb9e293c1343d", "raw": {"w": 4000, "h": 2672, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3984, 2656], "crop_hi_speed": [2, 6064, 4040, 4000, 2672, 1032, 684], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7811/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "9ae7346adb3b16f011d1d3c11b4c7ae2ab0231c64111dff3fad8e28dd55353c8", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7812/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "b026ebf6a3ee851925a8a9a44134e39cf3cddd6b383d39aafff15df2b418c89e", "raw": {"w": 4048, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 4032, 4032], "crop_hi_speed": [17, 6064, 4040, 4048, 4040, 1008, 0], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7813/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "b84499212126ef8bab31aa2b150f6dbf8cb6e0e2aab7ca669d85c3259784ecc5", "raw": {"w": 6064, "h": 3416, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 3400], "crop_hi_speed": [6, 6064, 4040, 6064, 3416, 0, 312], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7814/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "1c7be7b9081fcbd8bb75b28a8432531fae4dc56acda6b7f41a32625fb2555600", "raw": {"w": 4000, "h": 2672, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3984, 2656], "crop_hi_speed": [2, 6064, 4040, 4000, 2672, 1032, 684], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7815/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "10eea35531eb5427c171ab5158d064b79844a9fe039f8ca971b20c4f3be36cfd", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (1:1)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7816/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%281:1%29.NEF", "sha256": "ffd2eae3f5bdfd58edea142761107af70ad11a54abdd87b5896d8dba029f038c", "raw": {"w": 4048, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 4032, 4032], "crop_hi_speed": [17, 6064, 4040, 4048, 4040, 1008, 0], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (16:9)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7817/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%2816:9%29.NEF", "sha256": "883db3023a5b502931b3d8470424ae03fe7fa77d0c0e54141687fab949cef6b2", "raw": {"w": 6064, "h": 3416, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 6048, 3400], "crop_hi_speed": [6, 6064, 4040, 6064, 3416, 0, 312], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7818/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "7f214d6ea98e2eea44347d42e4dee0b7fa3ccab12c29275e2d029775685b74b5", "raw": {"w": 4000, "h": 2672, "bits": 14, "compression": 34713}, "crop_area": [8, 8, 3984, 2656], "crop_hi_speed": [2, 6064, 4040, 4000, 2672, 1032, 684], "nef_compression": null}, + {"model": "NIKON Z6_3", "mode": "8bit compressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/7819/nice/Nikon%20-%20Z6_3%20-%208bit%20compressed%20%283:2%29.NEF", "sha256": "17180e80555c149c5954a8a2f09459ede593b49731f1941f7094be105f3520e2", "raw": {"w": 6064, "h": 4040, "bits": 14, "compression": 34713}, "crop_area": [8, 4, 6048, 4032], "crop_hi_speed": [11, 6064, 4040, 6064, 4040, 0, 0], "nef_compression": null}, + {"model": "NIKON D200", "mode": "12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8079/nice/Nikon%20-%20D200%20-%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.nef", "sha256": "b0800a1166b952430b255600373573e1d528adf8de98857781e06a98472b3c35", "raw": {"w": 3904, "h": 2616, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 3904, 2616, 3904, 2616, 0, 0], "nef_compression": [1]}, + {"model": "NIKON D5300", "mode": "12bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8365/nice/Nikon%20-%20D5300%20-%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0ae88fc81f082929d76dd1b932aacf7815cd6bc670b96ef55a81928e11084a6c", "raw": {"w": 6016, "h": 4016, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON D5300", "mode": "14bit compressed (Lossy (type 2)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8366/nice/Nikon%20-%20D5300%20-%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8751a0a3bc491bb5c79ed6b32f83b3923b119ae9d950b851ad26db2a0fbb3b91", "raw": {"w": 6016, "h": 4016, "bits": 14, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 6016, 4016, 6016, 4016, 0, 0], "nef_compression": [4]}, + {"model": "NIKON Z fc", "mode": "12bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8559/nice/Nikon%20-%20Z%20fc%20-%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "a213f29e52f02c0155030d204bf885c7b85ae65a78057a751ccb3ade2d141798", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z fc", "mode": "14bit compressed (Lossless) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8562/nice/Nikon%20-%20Z%20fc%20-%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "038995c5108899cfa3f54d99364752fe761bb0accb8b26a21ac274d107a85d05", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [3]}, + {"model": "NIKON Z fc", "mode": "12bit compressed ((6)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8563/nice/Nikon%20-%20Z%20fc%20-%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "18cbb59cb9ab9deaad835080b3e9dc41d61e50fed9c24f9fe6891673b1e21d2c", "raw": {"w": 5600, "h": 3728, "bits": 12, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [6]}, + {"model": "NIKON Z fc", "mode": "14bit compressed ((10)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/8566/nice/Nikon%20-%20Z%20fc%20-%2014bit%20compressed%20%28%2810%29%29%20%283:2%29.NEF", "sha256": "8ff63bbe2a55aa682112662674b302e50a650a671a3022c68f787672961a0683", "raw": {"w": 5600, "h": 3728, "bits": 14, "compression": 34713}, "crop_area": [16, 8, 5568, 3712], "crop_hi_speed": [12, 5600, 3728, 5600, 3728, 0, 0], "nef_compression": [10]}, + {"model": "NIKON D2X", "mode": "12bit uncompressed (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/9064/nice/Nikon%20-%20D2X%20-%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "4d4b89f85bdfef233ef9b8aa7ecfeb609874ab592cb44e777f5b36814df5883c", "raw": {"w": 4320, "h": 2868, "bits": 12, "compression": 1}, "crop_area": null, "crop_hi_speed": [0, 4320, 2868, 4320, 2868, 0, 0], "nef_compression": null}, + {"model": "NIKON D2X", "mode": "12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/9065/nice/Nikon%20-%20D2X%20-%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "b0b96cc953b8c2f86a216e64e575cbdaee935ddfe75e5a4adc861e41f668b83b", "raw": {"w": 4320, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4320, 2868, 4320, 2868, 0, 0], "nef_compression": [1]}, + {"model": "NIKON D2Xs", "mode": "12bit compressed (Lossy (type 1)) (3:2)", "cc0": true, "url": "https://raw.pixls.us/getfile.php/9066/nice/Nikon%20-%20D2Xs%20-%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "266d4f2bb6e56f5086714ad059871d2184edb06419c5ee7cd0d138f28796b216", "raw": {"w": 4320, "h": 2868, "bits": 12, "compression": 34713}, "crop_area": null, "crop_hi_speed": [0, 4320, 2868, 4320, 2868, 0, 0], "nef_compression": [1]} + ] +} diff --git a/docs/nikon-bodies/samples.json b/docs/nikon-bodies/samples.json new file mode 100644 index 000000000..09e234b75 --- /dev/null +++ b/docs/nikon-bodies/samples.json @@ -0,0 +1,144 @@ +{ + "about": "CC0 raw.pixls.us samples measured for docs/nikon-bodies.md; fetch with `cargo xtask corpus --download nikon` into corpus/raw/nikon-inventory/", + "licence": "CC0-1.0 (each file marked CC0 on raw.pixls.us)", + "files": [ + {"file": "coolpix-a-4992x3280-14bit.nef", "model": "COOLPIX A", "size": [4992, 3280], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2238/nice/Nikon%20-%20Coolpix%20A%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "c5ca0333a7cda8a2fc33fb2157d18dfa89f1844548dc49c2fd2e67f502f72e25"}, + {"file": "coolpix-a1000-4608x3456-12bit.nrw", "model": "COOLPIX A1000", "size": [4608, 3456], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/4337/nice/Nikon%20-%20Coolpix%20A1000%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "9b4edd03bbb17d66eacc2a72b30f044969e67666446f3f1ed25e88bb947d4f8a"}, + {"file": "coolpix-b700-5200x3902-12bit.nrw", "model": "COOLPIX B700", "size": [5200, 3902], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/1621/nice/Nikon%20-%20COOLPIX%20B700%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "a175d5892304e79282add07eacf4bdc498ca3f050af48cf989c080355b4735ec"}, + {"file": "coolpix-p1000-4624x3470-12bit.nrw", "model": "COOLPIX P1000", "size": [4624, 3470], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/3381/nice/Nikon%20-%20COOLPIX%20P1000%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "1d9470ee083f914e51aa0be782161b432f27f87dbef551a59ec435f5dbc289dd"}, + {"file": "coolpix-p1100-4624x3470-12bit.nrw", "model": "COOLPIX P1100", "size": [4624, 3470], "bits": 12, "mode": "12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/7689/nice/Nikon%20-%20Coolpix%20P1100%20-%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "706840f7a36c3852092d4aad0465e75920e04f1aa653adf31626c0c05ab41258"}, + {"file": "coolpix-p330-4032x3024-12bit.nrw", "model": "COOLPIX P330", "size": [4032, 3024], "bits": 12, "mode": "12bit 12bit compressed ((7)) (4:3)", "url": "https://raw.pixls.us/getfile.php/912/nice/Nikon%20-%20Coolpix%20P330%20-%2012bit%2012bit%20compressed%20%28%287%29%29%20%284:3%29.NRW", "sha256": "bff89a1a985c834f894b6bb2c7989ed265ab96c5f5a2e981a713d6fe836df3f0"}, + {"file": "coolpix-p7700-4032x3024-12bit.nrw", "model": "COOLPIX P7700", "size": [4032, 3024], "bits": 12, "mode": "12bit 12bit compressed ((7)) (4:3)", "url": "https://raw.pixls.us/getfile.php/5495/nice/Nikon%20-%20Coolpix%20P7700%20-%2012bit%2012bit%20compressed%20%28%287%29%29%20%284:3%29.NRW", "sha256": "559aaf6616e092b363e72bb36422c4d1c024da3c0d4ba582126fa16d42e96cb8"}, + {"file": "coolpix-p7800-4032x3024-12bit.nrw", "model": "COOLPIX P7800", "size": [4032, 3024], "bits": 12, "mode": "12bit 12bit compressed ((7)) (4:3)", "url": "https://raw.pixls.us/getfile.php/1425/nice/Nikon%20-%20Coolpix%20P7800%20-%2012bit%2012bit%20compressed%20%28%287%29%29%20%284:3%29.NRW", "sha256": "27ac09537dd0f75523864dcf221278e2db354d490534bc13b6eabdc031060e51"}, + {"file": "coolpix-p950-4624x3470-12bit.nrw", "model": "COOLPIX P950", "size": [4624, 3470], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/3806/nice/Nikon%20-%20COOLPIX%20P950%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NRW", "sha256": "fc6136b9e5a7e133d7dc30fe65baa04c09ff8c18ca3c7ad82b4ffdbb71ce5bef"}, + {"file": "e5700-2576x1924-12bit.nef", "model": "E5700", "size": [2576, 1924], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/4456/nice/Nikon%20-%20E5700%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "6efeb5049cb4957f0586c47478caed2c5cfdce23eed6b65f5e65ab50ab7c1294"}, + {"file": "e8400-3280x2454-12bit.nef", "model": "E8400", "size": [3280, 2454], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/2082/nice/Nikon%20-%20E8400%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "84ca3fd7f6e684f1469bd02f1d715b4ccb0716ce0bd42200aeda32ef5b9c8562"}, + {"file": "e8800-3280x2454-12bit.nef", "model": "E8800", "size": [3280, 2454], "bits": 12, "mode": "12bit 12bit uncompressed (4:3)", "url": "https://raw.pixls.us/getfile.php/2769/nice/Nikon%20-%20Coolpix%20E8800%20-%2012bit%2012bit%20uncompressed%20%284:3%29.NEF", "sha256": "4a9bc7214e5eee808f46bc64cfa7d50d830e094f92253b52bb30a6abee684a78"}, + {"file": "nikon-1-aw1-4620x3084-12bit.nef", "model": "NIKON 1 AW1", "size": [4620, 3084], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1171/nice/Nikon%20-%201%20AW1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "519d354ec40907f1cd30329fc1a641ddec5b46e08e88883f3cf2fddc4ddd9974"}, + {"file": "nikon-1-j1-3904x2606-12bit.nef", "model": "NIKON 1 J1", "size": [3904, 2606], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2956/nice/Nikon%20-%201%20J1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "1d3b7c26b012cf585d46a28c9c83876d687a6e215b7d0bdf8d062c82ab626401"}, + {"file": "nikon-1-j2-3904x2606-12bit.nef", "model": "NIKON 1 J2", "size": [3904, 2606], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/923/nice/Nikon%20-%201%20J2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "81051ee36135883acea55bd1e609d6d31212c0bf03640b7ae9fe177a1ca51219"}, + {"file": "nikon-1-j3-4620x3084-12bit.nef", "model": "NIKON 1 J3", "size": [4620, 3084], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1814/nice/Nikon%20-%201%20J3%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "996d65705bf1ac9f83f055817ea92618ea44c822109196d7d97a803a0268b576"}, + {"file": "nikon-1-j4-5248x3504-12bit.nef", "model": "NIKON 1 J4", "size": [5248, 3504], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/5922/nice/Nikon%20-%201%20J4%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0e2887892b8cfc80891b2c510721088fcac6d77eff9ba68089f382a0115b274c"}, + {"file": "nikon-1-j5-5584x3726-12bit.nef", "model": "NIKON 1 J5", "size": [5584, 3726], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1883/nice/Nikon%20-%201%20J5%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "92b7e0a7637e5e498011372786a988aea3b431b0427ee10f9021469ecd6408e3"}, + {"file": "nikon-1-s1-3948x2604-12bit.nef", "model": "NIKON 1 S1", "size": [3948, 2604], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/5661/nice/Nikon%20-%201%20S1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8e540d40b842f61de69161cb0b8be72b024629c752fd82b6f8d10e460bce88cb"}, + {"file": "nikon-1-v1-3904x2606-12bit.nef", "model": "NIKON 1 V1", "size": [3904, 2606], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2217/nice/Nikon%20-%201%20V1%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8315c5c5c786703d057ed44339cdff7e82844bb8b21c254ac80942f65d8e6b77"}, + {"file": "nikon-1-v2-4620x3084-12bit.nef", "model": "NIKON 1 V2", "size": [4620, 3084], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1693/nice/Nikon%20-%201%20V2%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3d29dfa6397b0aa4e72969bb5b85d040e8bebf2e02f61f6364f580ce39f30bf2"}, + {"file": "nikon-1-v3-5248x3504-12bit.nef", "model": "NIKON 1 V3", "size": [5248, 3504], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2802/nice/Nikon%20-%201%20V3%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3f5376481f9ae59e9712b537dcc4eaffa72e311a8768c5396414506ae2eb1d69"}, + {"file": "nikon-d100-3034x2024-12bit.nef", "model": "NIKON D100", "size": [3034, 2024], "bits": 12, "mode": "12bit 12bit compressed (Uncompressed) (3:2)", "url": "https://raw.pixls.us/getfile.php/2996/nice/Nikon%20-%20D100%20-%2012bit%2012bit%20compressed%20%28Uncompressed%29%20%283:2%29.NEF", "sha256": "1889abfd1ed64048c90b0c3384e1e0be9bbb021692249427e90848d5d1e9c8f0"}, + {"file": "nikon-d1h-2012x1324-12bit.nef", "model": "NIKON D1H", "size": [2012, 1324], "bits": 12, "mode": "12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/5364/nice/Nikon%20-%20D1H%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "d110b80a8b10a3a67b5cd1c15ef33f1a6397557b73d5d3f4e565739f0c072571"}, + {"file": "nikon-d1x-4028x1324-12bit.nef", "model": "NIKON D1X", "size": [4028, 1324], "bits": 12, "mode": "12bit 12bit compressed (3.0422960725076)", "url": "https://raw.pixls.us/getfile.php/1785/nice/Nikon%20-%20D1X%20-%2012bit%2012bit%20compressed%20%283.0422960725076%29.NEF", "sha256": "ff80b83537a909e6adabeb091a12e4d5c83993e011672705366e7de39601695b"}, + {"file": "nikon-d200-3904x2616-12bit.nef", "model": "NIKON D200", "size": [3904, 2616], "bits": 12, "mode": "12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/8079/nice/Nikon%20-%20D200%20-%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.nef", "sha256": "b0800a1166b952430b255600373573e1d528adf8de98857781e06a98472b3c35"}, + {"file": "nikon-d2h-2496x1648-12bit.nef", "model": "NIKON D2H", "size": [2496, 1648], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/5227/nice/Nikon%20-%20D2H%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "155edb938f884ea7372ce98d4ff5f965c3e413b43b95bc9923da6e92082cf914"}, + {"file": "nikon-d2hs-2496x1648-12bit.nef", "model": "NIKON D2Hs", "size": [2496, 1648], "bits": 12, "mode": "12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/2852/nice/Nikon%20-%20D2Hs%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "9ea1c3d5d6c8a11f33239079559f1f0c86bbdb9440a2c7d2578368647abf7ea4"}, + {"file": "nikon-d2x-4320x2868-12bit.nef", "model": "NIKON D2X", "size": [4320, 2868], "bits": 12, "mode": "12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/9065/nice/Nikon%20-%20D2X%20-%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "b0b96cc953b8c2f86a216e64e575cbdaee935ddfe75e5a4adc861e41f668b83b"}, + {"file": "nikon-d2xs-4320x2868-12bit.nef", "model": "NIKON D2Xs", "size": [4320, 2868], "bits": 12, "mode": "12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/9066/nice/Nikon%20-%20D2Xs%20-%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "266d4f2bb6e56f5086714ad059871d2184edb06419c5ee7cd0d138f28796b216"}, + {"file": "nikon-d3-4288x2844-12bit.nef", "model": "NIKON D3", "size": [4288, 2844], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/3516/nice/Nikon%20-%20D3%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "880c60c5f611adf6b70de3d099f8433492de3a3d96866d570122f17f0a651fc8"}, + {"file": "nikon-d3-4288x2844-14bit.nef", "model": "NIKON D3", "size": [4288, 2844], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/3519/nice/Nikon%20-%20D3%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0626c09a58ca12ee4c12f919772abd4fd053c7d88c2f2b25e8d9be7c26cc7fd5"}, + {"file": "nikon-d300-4352x2868-12bit.nef", "model": "NIKON D300", "size": [4352, 2868], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/928/nice/Nikon%20-%20D300%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "f1162624678ae9b0e0e835fcbe77d97584fc88ceefd996e38ee126942b54bc8c"}, + {"file": "nikon-d300-4352x2868-14bit.nef", "model": "NIKON D300", "size": [4352, 2868], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/925/nice/Nikon%20-%20D300%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0d47cd75b79e172124d0a3c51fb36fdcc21a33157b30bac38028e55465bf9b6d"}, + {"file": "nikon-d3000-3904x2616-12bit.nef", "model": "NIKON D3000", "size": [3904, 2616], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2161/nice/Nikon%20-%20D3000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "a07ee8a0b1ff7a1ad06085306ef8f9a197d95fec639994467317c56108eeb435"}, + {"file": "nikon-d300s-4352x2868-12bit.nef", "model": "NIKON D300S", "size": [4352, 2868], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/3055/nice/Nikon%20-%20D300S%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "bb9834d03bc158731aefebc5bef11ab1607c9c8cc12f8ae964e6c1b031696d05"}, + {"file": "nikon-d300s-4352x2868-14bit.nef", "model": "NIKON D300S", "size": [4352, 2868], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/3052/nice/Nikon%20-%20D300S%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "34749388e846408eb1633991ca774b341e5d7d9752df8c5538eab281cecf4c83"}, + {"file": "nikon-d3100-4672x3084-12bit.nef", "model": "NIKON D3100", "size": [4672, 3084], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/4229/nice/Nikon%20-%20D3100%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "e8113b6e7285155f9f2b88f81566dab63a59cf5559d6915113b74e8c3a8680f6"}, + {"file": "nikon-d3200-6080x4012-12bit.nef", "model": "NIKON D3200", "size": [6080, 4012], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/743/nice/Nikon%20-%20D3200%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "91657dd8e9c7a086826683f6d20799685657dd7ca2056702b145851465f57cd3"}, + {"file": "nikon-d3300-6016x4016-12bit.nef", "model": "NIKON D3300", "size": [6016, 4016], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1734/nice/Nikon%20-%20D3300%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "97dfc95aecc00383d6da6197cb759bacb1e43c86071b4ca2d94748e498620f2f"}, + {"file": "nikon-d3s-4288x2844-12bit.nef", "model": "NIKON D3S", "size": [4288, 2844], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/5207/nice/Nikon%20-%20D3S%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "322ec3cea1f0be42ea38b3e4974dcfdadd1ff6574743d82d2a59f07242852297"}, + {"file": "nikon-d3s-4288x2844-14bit.nef", "model": "NIKON D3S", "size": [4288, 2844], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/5204/nice/Nikon%20-%20D3S%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "9b7c39fb4c37a117aecdefdbdb52b35482a092681dfe66068d652b19c47c4eca"}, + {"file": "nikon-d3x-6080x4044-14bit.nef", "model": "NIKON D3X", "size": [6080, 4044], "bits": 14, "mode": "14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/3708/nice/Nikon%20-%20D3X%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "48dc0339ef86541aabcc6bb68a6452f603e23a7d7a5597dad0d267f69e3e79d4"}, + {"file": "nikon-d4-4992x3292-12bit.nef", "model": "NIKON D4", "size": [4992, 3292], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1978/nice/Nikon%20-%20D4%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "1148bcbf80106b21f7788d0b926751bf5a14ebb5b8cf45ff67bf5bfe6b4ac84f"}, + {"file": "nikon-d4-4992x3292-14bit.nef", "model": "NIKON D4", "size": [4992, 3292], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1975/nice/Nikon%20-%20D4%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "aefb8b307361b5d5ed27fadb8a3a810d8c174f258313c77c57187eb829aa30cb"}, + {"file": "nikon-d40-3040x2014-12bit.nef", "model": "NIKON D40", "size": [3040, 2014], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/3618/nice/Nikon%20-%20D40%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "44e88bc77b7a531b22647bcd07b9393c4568062e8f0906d3bbdecb42fbe29e03"}, + {"file": "nikon-d40x-3904x2616-12bit.nef", "model": "NIKON D40X", "size": [3904, 2616], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/804/nice/Nikon%20-%20D40X%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "c3e4956f7e2d1f1b3f846b6ec9552678073db0bcaeb51132ec4c60bd2229d56e"}, + {"file": "nikon-d4s-2464x1640-12bit.nef", "model": "NIKON D4S", "size": [2464, 1640], "bits": 12, "mode": "12bit 12bit compressed ((8)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2227/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20compressed%20%28%288%29%29%20%283:2%29.NEF", "sha256": "c8256566c01eed83b8f9c4eeec6276a94031d19f607afc511a90cb0c2fa76f9c"}, + {"file": "nikon-d4s-4936x3288-12bit.nef", "model": "NIKON D4S", "size": [4936, 3288], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2221/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3120d2b3680ec2b9cd017553dd32be2081e62ca220b6e2e7e8988016662042d4"}, + {"file": "nikon-d4s-4936x3288-14bit.nef", "model": "NIKON D4S", "size": [4936, 3288], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2225/nice/Nikon%20-%20D4S%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8726fceea6aaae58b5341e4a78316ee6db463c5a07fa2af1c41b9ed3305fe653"}, + {"file": "nikon-d50-3040x2014-12bit.nef", "model": "NIKON D50", "size": [3040, 2014], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1282/nice/Nikon%20-%20D50%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "9f94c27672a63f946c92d43910ef0c266dffaa14dae0007ae00ac72d2c684935"}, + {"file": "nikon-d5000-4352x2868-12bit.nef", "model": "NIKON D5000", "size": [4352, 2868], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1341/nice/Nikon%20-%20D5000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "5f8e8005be87366bbf7746d35c3c88f82a12a1dd18206c939d8f1254c5922360"}, + {"file": "nikon-d5100-4992x3280-14bit.nef", "model": "NIKON D5100", "size": [4992, 3280], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1596/nice/Nikon%20-%20D5100%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "3686f6063ca1c05273c7c1021d47ed57ef50194656e3cfe30d9cae70781b98ef"}, + {"file": "nikon-d5200-6036x4020-14bit.nef", "model": "NIKON D5200", "size": [6036, 4020], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1691/nice/Nikon%20-%20D5200%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6c49ca47d189f9d6766f94be7c9d7d779ce45c79c0c6e48a0eba7d92f320fe0e"}, + {"file": "nikon-d5300-6016x4016-12bit.nef", "model": "NIKON D5300", "size": [6016, 4016], "bits": 12, "mode": "12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/8365/nice/Nikon%20-%20D5300%20-%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0ae88fc81f082929d76dd1b932aacf7815cd6bc670b96ef55a81928e11084a6c"}, + {"file": "nikon-d5300-6016x4016-14bit.nef", "model": "NIKON D5300", "size": [6016, 4016], "bits": 14, "mode": "14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/8366/nice/Nikon%20-%20D5300%20-%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8751a0a3bc491bb5c79ed6b32f83b3923b119ae9d950b851ad26db2a0fbb3b91"}, + {"file": "nikon-d5500-6016x4016-12bit.nef", "model": "NIKON D5500", "size": [6016, 4016], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1470/nice/Nikon%20-%20D5500%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6e0681b54ef808913a31530e0e320751dbb910f53fbca1b4bd65329f8f129b01"}, + {"file": "nikon-d5500-6016x4016-14bit.nef", "model": "NIKON D5500", "size": [6016, 4016], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1469/nice/Nikon%20-%20D5500%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "96d5b85dae24e190691c504781d8e7ee58cb9b63ea715760de9af3d345dc4c13"}, + {"file": "nikon-d5600-6016x4016-12bit.nef", "model": "NIKON D5600", "size": [6016, 4016], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1415/nice/Nikon%20-%20D5600%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "82e15f02c4037820e80f14bacfacdc52ea29721b3c70d2cf08b237b50ce8db05"}, + {"file": "nikon-d5600-6016x4016-14bit.nef", "model": "NIKON D5600", "size": [6016, 4016], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1416/nice/Nikon%20-%20D5600%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0917e0ffdd7aa648ed35d99d1858b5a4ab81f62d5a0418d4bcfe3799fc59a7a0"}, + {"file": "nikon-d60-3904x2616-12bit.nef", "model": "NIKON D60", "size": [3904, 2616], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/3698/nice/Nikon%20-%20D60%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "780ce4867e997143acbd1734a889575a5eaeeb40c6afb33b6006c266831caaa6"}, + {"file": "nikon-d600-6080x4028-12bit.nef", "model": "NIKON D600", "size": [6080, 4028], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/919/nice/Nikon%20-%20D600%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "d96ff1bfa0bccaf5e900c7e1cdd0ebb87c4b15dda959e1f9a40075c1ba7fbcfa"}, + {"file": "nikon-d600-6080x4028-14bit.nef", "model": "NIKON D600", "size": [6080, 4028], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/917/nice/Nikon%20-%20D600%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6dd9470e0ab44ecf6d1a5341a5314edfbeaf091ecda414f6881c37ea5b0179c0"}, + {"file": "nikon-d610-6080x4028-12bit.nef", "model": "NIKON D610", "size": [6080, 4028], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/889/nice/Nikon%20-%20D610%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "a6de67362a7ae053f36115e639a806f3f5a1c10b89f0a4ed21e95cdc27b7b8cc"}, + {"file": "nikon-d610-6080x4028-14bit.nef", "model": "NIKON D610", "size": [6080, 4028], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/891/nice/Nikon%20-%20D610%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "947ab8a6612a9fd3eaeed193030cbe5fc650d2daa2dff7b5e11051dc6b953366"}, + {"file": "nikon-d70-3040x2014-12bit.nef", "model": "NIKON D70", "size": [3040, 2014], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2060/nice/Nikon%20-%20D70%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "dd6405aeb33b0cd5bf66c98ba98ccbb478a765450cfd130810e470dab8d1f4b4"}, + {"file": "nikon-d700-4288x2844-12bit.nef", "model": "NIKON D700", "size": [4288, 2844], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2255/nice/Nikon%20-%20D700%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "bfd5e164c3fa10ffdc38237000ccb63f52a53bcd080ceb48de1443534dd17036"}, + {"file": "nikon-d700-4288x2844-14bit.nef", "model": "NIKON D700", "size": [4288, 2844], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2250/nice/Nikon%20-%20D700%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "0f279ad4a3e92859109ce78440e562a8d25b91b8704a79e1245c8e98d9b27cf1"}, + {"file": "nikon-d7000-4992x3280-12bit.nef", "model": "NIKON D7000", "size": [4992, 3280], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/961/nice/Nikon%20-%20D7000%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "986db2bf9ed08cf095bb94cfbaf02f0e89d123edad28b63c05133e7815749486"}, + {"file": "nikon-d7000-4992x3280-14bit.nef", "model": "NIKON D7000", "size": [4992, 3280], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/960/nice/Nikon%20-%20D7000%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "b8953c3e0ff4e4ca7668f4ea8eef0532b04503162d53e31bfcd7946c05a2cbfe"}, + {"file": "nikon-d70s-3040x2014-12bit.nef", "model": "NIKON D70s", "size": [3040, 2014], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1117/nice/Nikon%20-%20D70s%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "6c46f9854033e7623ebbb5de8c951df6762ca44f05d45035ccc5cb7e9f4e5692"}, + {"file": "nikon-d7100-6036x4020-12bit.nef", "model": "NIKON D7100", "size": [6036, 4020], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1858/nice/Nikon%20-%20D7100%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "48b86be680b631291e193660daeece2ca1515583c9780ab9fcff2ea80628d3d1"}, + {"file": "nikon-d7100-6036x4020-14bit.nef", "model": "NIKON D7100", "size": [6036, 4020], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1857/nice/Nikon%20-%20D7100%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "b9e1ac6c38eb06a9d296bbafe81ca403a7f1520d61735603cb238b9ae6a35fce"}, + {"file": "nikon-d7200-6016x4016-12bit.nef", "model": "NIKON D7200", "size": [6016, 4016], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/834/nice/Nikon%20-%20D7200%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "8dc6c5c796238056309dbb9c158917e56bbd7033e260e5b0d3736ad71c88cc60"}, + {"file": "nikon-d7200-6016x4016-14bit.nef", "model": "NIKON D7200", "size": [6016, 4016], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/833/nice/Nikon%20-%20D7200%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "60f6a525322124949fd3b99e884b78b1ad95d80d8a9e03b897b881a6f50ae2ff"}, + {"file": "nikon-d750-6032x4032-12bit.nef", "model": "NIKON D750", "size": [6032, 4032], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/895/nice/Nikon%20-%20D750%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "e4a3f85e014275fc0a47600a373af95ec850872a5f6cf87649bcaa42b77ef2e4"}, + {"file": "nikon-d750-6032x4032-14bit.nef", "model": "NIKON D750", "size": [6032, 4032], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/896/nice/Nikon%20-%20D750%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "3389da2bd0997be2f8e1408d8d0fba09f5062de05c4017a0bbf2849d8f0cd2a1"}, + {"file": "nikon-d80-3900x2611-16bit.dng", "model": "NIKON D80", "size": [3900, 2611], "bits": 16, "mode": "16bit (3:2)", "url": "https://raw.pixls.us/getfile.php/1988/nice/Nikon%20-%20D80%20-%2016bit%20%283:2%29.dng", "sha256": "5095ca264e763624cd3aa62940286dd1bcff4504eefa1ce61cbb72f50f8426bb"}, + {"file": "nikon-d80-3904x2616-12bit.nef", "model": "NIKON D80", "size": [3904, 2616], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 1)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2104/nice/Nikon%20-%20D80%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%201%29%29%20%283:2%29.NEF", "sha256": "745cb067eea6dbb92d3088ee66e8a28bf4912848b43adb6ee30bec3ca0b1d066"}, + {"file": "nikon-d800-7424x4924-12bit.nef", "model": "NIKON D800", "size": [7424, 4924], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/757/nice/Nikon%20-%20D800%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "317766527a1a9019985d6b41c4b400f89e8fb8621f468a0826b77d17263ab648"}, + {"file": "nikon-d800-7424x4924-14bit.nef", "model": "NIKON D800", "size": [7424, 4924], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/751/nice/Nikon%20-%20D800%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "f5b7906869da3e48cb85ec08c5fa97c4c3ff8ab491825a89ac5ed0fff11fef5d"}, + {"file": "nikon-d800e-7424x4924-14bit.nef", "model": "NIKON D800E", "size": [7424, 4924], "bits": 14, "mode": "14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/2552/nice/Nikon%20-%20D800E%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ec31bc8517cbb1247867aebd7b604c29de015f09bb1d2610b68a8fdb0d219dd7"}, + {"file": "nikon-d810-3680x2456-12bit.nef", "model": "NIKON D810", "size": [3680, 2456], "bits": 12, "mode": "12bit 12bit compressed ((8)), small raw (3:2)", "url": "https://raw.pixls.us/getfile.php/2036/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28%288%29%29%2C%20small%20raw%20%283:2%29.NEF", "sha256": "0cb5b8193ddc1de57fcc5f2091d0f7e8476f3b3af4beeb1ccc73d45f1c7a6bed"}, + {"file": "nikon-d810-7380x4928-12bit.nef", "model": "NIKON D810", "size": [7380, 4928], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2034/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "6aa49c8cdfcde936b10a342d4901391fe4dcdb54cfb6b9b5d02ce46c65ac5ebf"}, + {"file": "nikon-d810-7380x4928-14bit.nef", "model": "NIKON D810", "size": [7380, 4928], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2031/nice/Nikon%20-%20D810%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "ea612ad3a01aaa76f6e9064eadb5c1746771875bd2ec81984667b28359b5c78d"}, + {"file": "nikon-d90-4352x2868-12bit.nef", "model": "NIKON D90", "size": [4352, 2868], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1325/nice/Nikon%20-%20D90%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "9eb3daa4e3d1c1614bccc4c6d136c4166960f936f17c437cc4d11a5786b2df06"}, + {"file": "nikon-df-4992x3292-12bit.nef", "model": "NIKON Df", "size": [4992, 3292], "bits": 12, "mode": "12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1386/nice/Nikon%20-%20Df%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "902483437706df59bed669ebb4eb7d9ecaf95b23a70d6c79e319316ce50ee884"}, + {"file": "nikon-df-4992x3292-14bit.nef", "model": "NIKON Df", "size": [4992, 3292], "bits": 14, "mode": "14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/1388/nice/Nikon%20-%20Df%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "452ed50be5e212cf7832cd5fc992d920206cebde8864c073988aeaf5a9d07708"}, + {"file": "extra/nikon-d200-3904x2616-12bit-2.nef", "model": "NIKON D200", "size": [3904, 2616], "bits": 12, "mode": "Nikon - D200 - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/824/nice/Nikon%20-%20D200%20-%2012bit%2012bit%20uncompressed%20%283:2%29.nef", "sha256": "d468895b0b30a60d05a7f6468d69f2f15830dd49b2d82698b34245072a22e747"}, + {"file": "extra/nikon-d2xs-4320x2868-12bit-2.nef", "model": "NIKON D2Xs", "size": [4320, 2868], "bits": 12, "mode": "Nikon - D2Xs - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/2871/nice/Nikon%20-%20D2Xs%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "2204bc2e2178bf594e17886ca92a50a94350403a110846ca6e83bdc5f3352706"}, + {"file": "extra/nikon-d3-4288x2844-12bit-2.nef", "model": "NIKON D3", "size": [4288, 2844], "bits": 12, "mode": "Nikon - D3 - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/3517/nice/Nikon%20-%20D3%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "bd1efee38aab8daf79c199e076785125ece01eb8f5ef6741121b0f313ee4ac04"}, + {"file": "extra/nikon-d3-4288x2844-12bit-3.nef", "model": "NIKON D3", "size": [4288, 2844], "bits": 12, "mode": "Nikon - D3 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/3518/nice/Nikon%20-%20D3%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "6c4ca5ac7525c01c972f517503c47389f2f244c1fab2ad4ea9d10c63d36c42e6"}, + {"file": "extra/nikon-d3-4288x2844-14bit-2.nef", "model": "NIKON D3", "size": [4288, 2844], "bits": 14, "mode": "Nikon - D3 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/3520/nice/Nikon%20-%20D3%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c280a2afc31fb15f8c0bc8d8cf6fb13b1972f7d913fa673c5db9d1c1f50beddd"}, + {"file": "extra/nikon-d3-4288x2844-14bit-3.nef", "model": "NIKON D3", "size": [4288, 2844], "bits": 14, "mode": "Nikon - D3 - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/3521/nice/Nikon%20-%20D3%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "12c75d4ee829261d15031e02d17a8461f05e72575be76b3e19d1fbdba549de54"}, + {"file": "extra/nikon-d300-4352x2868-12bit-2.nef", "model": "NIKON D300", "size": [4352, 2868], "bits": 12, "mode": "Nikon - D300 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/927/nice/Nikon%20-%20D300%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "7e6d38ddebe82784dc8c84cdf02dce7bcfe74b71b0dec91b28551936102c39b9"}, + {"file": "extra/nikon-d300-4352x2868-12bit-3.nef", "model": "NIKON D300", "size": [4352, 2868], "bits": 12, "mode": "Nikon - D300 - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/929/nice/Nikon%20-%20D300%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "1e0ff56bba6561182c80cff3cca5b912746990523ea777123b4860c42a7f080a"}, + {"file": "extra/nikon-d300-4352x2868-14bit-2.nef", "model": "NIKON D300", "size": [4352, 2868], "bits": 14, "mode": "Nikon - D300 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/924/nice/Nikon%20-%20D300%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "8b989f53c96995f7014ddd16124530cf6d8f3341ea9570d6312d9da1eb0a117a"}, + {"file": "extra/nikon-d300-4352x2868-14bit-3.nef", "model": "NIKON D300", "size": [4352, 2868], "bits": 14, "mode": "Nikon - D300 - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/926/nice/Nikon%20-%20D300%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "0261523d0ab4694df0219404eb08af5db04697a05e85718e7f7bd42d283205f4"}, + {"file": "extra/nikon-d300s-4352x2868-14bit-2.nef", "model": "NIKON D300S", "size": [4352, 2868], "bits": 14, "mode": "Nikon - D300S - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/3049/nice/Nikon%20-%20D300S%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "de950a2263c87f085ee611a21e69fc4e0ecb6e417fff61ff6a23ea3121e21a81"}, + {"file": "extra/nikon-d300s-4352x2868-14bit-3.nef", "model": "NIKON D300S", "size": [4352, 2868], "bits": 14, "mode": "Nikon - D300S - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/3053/nice/Nikon%20-%20D300S%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "a7dea59999273727cb73d3a7854aa01162c30f06d7fbb5c826dd61a54ba07934"}, + {"file": "extra/nikon-d3s-4288x2844-12bit-2.nef", "model": "NIKON D3S", "size": [4288, 2844], "bits": 12, "mode": "Nikon - D3S - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/5206/nice/Nikon%20-%20D3S%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c9784f9cfca635be29beb08aad4ed40c60be1ad536eb1186bcd565381fd1056c"}, + {"file": "extra/nikon-d3s-4288x2844-12bit-3.nef", "model": "NIKON D3S", "size": [4288, 2844], "bits": 12, "mode": "Nikon - D3S - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/5208/nice/Nikon%20-%20D3S%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "cb7f0877f20d32e8590c0c0889fb365f73037227eb565cf2629cd9725ead6e0a"}, + {"file": "extra/nikon-d3s-4288x2844-14bit-2.nef", "model": "NIKON D3S", "size": [4288, 2844], "bits": 14, "mode": "Nikon - D3S - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/5203/nice/Nikon%20-%20D3S%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "402898e57007a4176b8686019ef2878c28481f7520c6136127f00148de9960b5"}, + {"file": "extra/nikon-d3s-4288x2844-14bit-3.nef", "model": "NIKON D3S", "size": [4288, 2844], "bits": 14, "mode": "Nikon - D3S - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/5205/nice/Nikon%20-%20D3S%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "6330d1ab9adaa65de609c2c6cb29948b85579be215de71385db63520825d0db8"}, + {"file": "extra/nikon-d4-4992x3292-12bit-2.nef", "model": "NIKON D4", "size": [4992, 3292], "bits": 12, "mode": "Nikon - D4 - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/1977/nice/Nikon%20-%20D4%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "90a8fe82c2ca66cb925590370187a16773b455fb655671967443fcc423bf0351"}, + {"file": "extra/nikon-d4-4992x3292-12bit-3.nef", "model": "NIKON D4", "size": [4992, 3292], "bits": 12, "mode": "Nikon - D4 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/1979/nice/Nikon%20-%20D4%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "e549dfba6667148c726100b5e1871e449657284aa5023b2a5f51a35394750480"}, + {"file": "extra/nikon-d4-4992x3292-14bit-2.nef", "model": "NIKON D4", "size": [4992, 3292], "bits": 14, "mode": "Nikon - D4 - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/1974/nice/Nikon%20-%20D4%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "23aa2dd3c409b3cbbfeea3e3f7b6752180efa15430d6e059e87404e969875cd7"}, + {"file": "extra/nikon-d4-4992x3292-14bit-3.nef", "model": "NIKON D4", "size": [4992, 3292], "bits": 14, "mode": "Nikon - D4 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/1976/nice/Nikon%20-%20D4%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "35ed038a1a55988b62fa29eb27f9c1f6088b79de10ff2f447861b1accdb0a317"}, + {"file": "extra/nikon-d4s-4936x3288-12bit-2.nef", "model": "NIKON D4S", "size": [4936, 3288], "bits": 12, "mode": "Nikon - D4S - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/2220/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "49067c81374549465f3c621acd249bf05dbdef4e44b9201fef1fb11c93572983"}, + {"file": "extra/nikon-d4s-4936x3288-12bit-3.nef", "model": "NIKON D4S", "size": [4936, 3288], "bits": 12, "mode": "Nikon - D4S - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/2222/nice/Nikon%20-%20D4S%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "1613a1622ac7fcc67ece0ef65b386d03a066ace2ab15933dea79efa3fa371ae9"}, + {"file": "extra/nikon-d5600-6016x4016-12bit-2.nef", "model": "NIKON D5600", "size": [6016, 4016], "bits": 12, "mode": "Nikon - D5600 - 12bit 12bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2261/nice/Nikon%20-%20D5600%20-%2012bit%2012bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "7ea7d00ec7c4de55398ad258c6dd9952237ab8110ea0bfc7b29b4e17c1090719"}, + {"file": "extra/nikon-d5600-6016x4016-14bit-2.nef", "model": "NIKON D5600", "size": [6016, 4016], "bits": 14, "mode": "Nikon - D5600 - 14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2260/nice/Nikon%20-%20D5600%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.NEF", "sha256": "4d9b49e6eb8a9e055b10be67f580a9c42538132e3a6e808d2fd08826c644827e"}, + {"file": "extra/nikon-d600-6080x4028-12bit-2.nef", "model": "NIKON D600", "size": [6080, 4028], "bits": 12, "mode": "Nikon - D600 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/918/nice/Nikon%20-%20D600%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c434e4d3f225a09d8d9d05f8709a7ac537fedda295062f9eb392092038305038"}, + {"file": "extra/nikon-d600-6080x4028-14bit-2.nef", "model": "NIKON D600", "size": [6080, 4028], "bits": 14, "mode": "Nikon - D600 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/916/nice/Nikon%20-%20D600%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "a70c3e54501efa7e4391ec4cf5705912a10c356a029e984ee13be5f68bc7482d"}, + {"file": "extra/nikon-d610-6080x4028-12bit-2.nef", "model": "NIKON D610", "size": [6080, 4028], "bits": 12, "mode": "Nikon - D610 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/888/nice/Nikon%20-%20D610%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "11f0a71bb4141a8ed44c7e1c64f9a12571f5f67a11571f2bde8516aa95a7bea3"}, + {"file": "extra/nikon-d610-6080x4028-14bit-2.nef", "model": "NIKON D610", "size": [6080, 4028], "bits": 14, "mode": "Nikon - D610 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/890/nice/Nikon%20-%20D610%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ec3676c6a17d23d1d2e29519b9bd0bd32dc54f560784d61ef8bc9aaf0a5436c0"}, + {"file": "extra/nikon-d700-4288x2844-12bit-2.nef", "model": "NIKON D700", "size": [4288, 2844], "bits": 12, "mode": "Nikon - D700 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/2254/nice/Nikon%20-%20D700%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "6735ee78c8e6718f6333127f6bbd73bbd8ef745b360e3e2033defee4a8d7c2a0"}, + {"file": "extra/nikon-d700-4288x2844-12bit-3.nef", "model": "NIKON D700", "size": [4288, 2844], "bits": 12, "mode": "Nikon - D700 - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/2256/nice/Nikon%20-%20D700%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "0831d8103a2f2275e479095a75a1217b49e1d415ced439f43c331eb3927f2675"}, + {"file": "extra/nikon-d700-4288x2844-14bit-2.nef", "model": "NIKON D700", "size": [4288, 2844], "bits": 14, "mode": "Nikon - D700 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/2249/nice/Nikon%20-%20D700%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "00c3314f2ccf92aff17644943e6149e8793b517c24bb2c38a15ec41f3af109cb"}, + {"file": "extra/nikon-d700-4288x2844-14bit-3.nef", "model": "NIKON D700", "size": [4288, 2844], "bits": 14, "mode": "Nikon - D700 - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/2251/nice/Nikon%20-%20D700%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "44a45eb60cde6904894b0191590256f90692474ee90de451822c29d46a927667"}, + {"file": "extra/nikon-d7000-4992x3280-12bit-2.nef", "model": "NIKON D7000", "size": [4992, 3280], "bits": 12, "mode": "Nikon - D7000 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/959/nice/Nikon%20-%20D7000%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "65d8d063de99befa2f8463c3b1114cb5bf71e35aed6466d36fca39e83d0353bc"}, + {"file": "extra/nikon-d7000-4992x3280-14bit-2.nef", "model": "NIKON D7000", "size": [4992, 3280], "bits": 14, "mode": "Nikon - D7000 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/958/nice/Nikon%20-%20D7000%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "639945753240005d80488c0462c01e73a7ab82c96d3d1cdb6661f02e1b3c1319"}, + {"file": "extra/nikon-d7000-4992x3280-14bit-3.nef", "model": "NIKON D7000", "size": [4992, 3280], "bits": 14, "mode": "Nikon - D7000 - 14bit 14bit compressed (Lossy (type 2)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2578/nice/Nikon%20-%20D7000%20-%2014bit%2014bit%20compressed%20%28Lossy%20%28type%202%29%29%20%283:2%29.nef", "sha256": "6d5aab3dbab2d77deab82ea5dfc72608e60a97315d869d6a55dac596e8691616"}, + {"file": "extra/nikon-d750-6032x4032-12bit-2.nef", "model": "NIKON D750", "size": [6032, 4032], "bits": 12, "mode": "Nikon - D750 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/897/nice/Nikon%20-%20D750%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "baae8dfc05a81a4a4034831a49ed99d129e797858ad876d31173a46d33b7d3ea"}, + {"file": "extra/nikon-d750-6032x4032-14bit-2.nef", "model": "NIKON D750", "size": [6032, 4032], "bits": 14, "mode": "Nikon - D750 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/898/nice/Nikon%20-%20D750%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "f90deb2819863f5a6ca9913c255fdd83a94963f4284eb88df9d389da7a6c7665"}, + {"file": "extra/nikon-d800-7424x4924-12bit-2.nef", "model": "NIKON D800", "size": [7424, 4924], "bits": 12, "mode": "Nikon - D800 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/756/nice/Nikon%20-%20D800%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "2cc08a8722e1a53d7a19631b8ac1ce1084861358d9eec751a4d639744e3c657f"}, + {"file": "extra/nikon-d800-7424x4924-12bit-3.nef", "model": "NIKON D800", "size": [7424, 4924], "bits": 12, "mode": "Nikon - D800 - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/759/nice/Nikon%20-%20D800%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "e096d28a860f8b7afe3abde4ccc5cec5bcda229d137b4919cd821a2fc9bf87b2"}, + {"file": "extra/nikon-d800-7424x4924-14bit-2.nef", "model": "NIKON D800", "size": [7424, 4924], "bits": 14, "mode": "Nikon - D800 - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/750/nice/Nikon%20-%20D800%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "26d58c21ed3019af5a22ef6bc02f017b863aad9eafcf84252ed375cd495c0efb"}, + {"file": "extra/nikon-d800-7424x4924-14bit-3.nef", "model": "NIKON D800", "size": [7424, 4924], "bits": 14, "mode": "Nikon - D800 - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/755/nice/Nikon%20-%20D800%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "fd34b869e799fa6b1a4940ddcd60cd74b1624b6244e923caf1dbdbe7866d9eac"}, + {"file": "extra/nikon-d800e-7424x4924-14bit-2.nef", "model": "NIKON D800E", "size": [7424, 4924], "bits": 14, "mode": "Nikon - D800E - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/1303/nice/Nikon%20-%20D800E%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "4559b9614ab6d558192d9d30e1db4a4ec44752553e45b2bd26c1569c1820441a"}, + {"file": "extra/nikon-d810-7380x4928-12bit-2.nef", "model": "NIKON D810", "size": [7380, 4928], "bits": 12, "mode": "Nikon - D810 - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/2033/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "ea8baa753dc1d77fdabb3f35048f71aa3c99d5b675f50f6a8d301ab287f5fd68"}, + {"file": "extra/nikon-d810-7380x4928-12bit-3.nef", "model": "NIKON D810", "size": [7380, 4928], "bits": 12, "mode": "Nikon - D810 - 12bit 12bit compressed ((6)) (3:2)", "url": "https://raw.pixls.us/getfile.php/2035/nice/Nikon%20-%20D810%20-%2012bit%2012bit%20compressed%20%28%286%29%29%20%283:2%29.NEF", "sha256": "19519ee6c6b713a1afe45daf5ce9be4054aa6fae3b5db9df915b4b30be63126b"}, + {"file": "extra/nikon-df-4992x3292-12bit-2.nef", "model": "NIKON Df", "size": [4992, 3292], "bits": 12, "mode": "Nikon - Df - 12bit 12bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/1385/nice/Nikon%20-%20Df%20-%2012bit%2012bit%20uncompressed%20%283:2%29.NEF", "sha256": "38ea7aba6b7e0cdbd338fe6703d3c98291f4a9a28b0d1a81bfb1f77b21712c63"}, + {"file": "extra/nikon-df-4992x3292-12bit-3.nef", "model": "NIKON Df", "size": [4992, 3292], "bits": 12, "mode": "Nikon - Df - 12bit 12bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/1387/nice/Nikon%20-%20Df%20-%2012bit%2012bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "c235099efa19a02f50174dfe473c5d4da1e190d44d9153604486a79cbcf120df"}, + {"file": "extra/nikon-df-4992x3292-14bit-2.nef", "model": "NIKON Df", "size": [4992, 3292], "bits": 14, "mode": "Nikon - Df - 14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/1389/nice/Nikon%20-%20Df%20-%2014bit%2014bit%20uncompressed%20%283:2%29.NEF", "sha256": "b3240362af7342d23afe69e5947b34c6ba7cfc46d49aae767c286f493ecc24d0"}, + {"file": "extra/nikon-df-4992x3292-14bit-3.nef", "model": "NIKON Df", "size": [4992, 3292], "bits": 14, "mode": "Nikon - Df - 14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/1390/nice/Nikon%20-%20Df%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.NEF", "sha256": "65b940bc1436e5df406bdfd83dcfeffcbed9da5b96db67fa03036ec840cecbf9"}, + {"file": "extra/nikon-d5100-4992x3280-14bit-lossless.nef", "model": "NIKON D5100", "size": [4992, 3280], "bits": 14, "mode": "14bit 14bit compressed (Lossless) (3:2)", "url": "https://raw.pixls.us/getfile.php/1597/nice/Nikon%20-%20D5100%20-%2014bit%2014bit%20compressed%20%28Lossless%29%20%283:2%29.nef", "sha256": "3ce328830942381648be26b372a54b317fdb27b63c1aa9c2ee1fce076a2e1b4f"}, + {"file": "extra/nikon-d5100-4992x3280-14bit-uncompressed.nef", "model": "NIKON D5100", "size": [4992, 3280], "bits": 14, "mode": "14bit 14bit uncompressed (3:2)", "url": "https://raw.pixls.us/getfile.php/1598/nice/Nikon%20-%20D5100%20-%2014bit%2014bit%20uncompressed%20%283:2%29.nef", "sha256": "2fb2f1b87a3b89de5ba9e56527f21a912ca624f2fa2a594cef108ee8d7180412"} + ] +} diff --git a/docs/parity-checklist.md b/docs/parity-checklist.md index 77ae26e4c..a320210a6 100644 --- a/docs/parity-checklist.md +++ b/docs/parity-checklist.md @@ -81,7 +81,7 @@ differences and missing bindings are in [ui-parity.md](ui-parity.md#shortcuts). | LR-IMP-LOCAL | Work on files in place | P0 | ✅ | `cmd:library.browse`, `cmd:photo.addToLibrary`, `cmd:library.import` (mode add), `cmd:local.addRoot`, `cmd:local.hide`, `cmd:local.restoreHidden`, `crates/engine/src/cmd/browse.rs`, `crates/ui-egui/src/panels/left.rs` (`local_section`), `crates/ui-egui/src/panels/grid.rs` (`folder_header`) | Local: browse Pictures / Desktop / Downloads / Home or any folder without adding it (breadcrumb, Include subfolders, Add N to My Photos); browsed photos stay out of All Photos, albums and counts (album commands skip them and the album menus say to Add to My Photos first, issue #684); folders picked with Browse Folder… (or Keep in Local / Add to Local on a folder row) stay listed across restarts, and browsing a folder inside a listed one highlights it inside that tree (opened down to it, siblings reachable) instead of adding a root; edits go to XMP sidecars; importing promotes them; right-click a top-level location → Remove from Local hides the shortcut only (nothing on disk or in the catalog changes), saved with the UI state, and “Show N hidden locations” (or Browse Folder… on it) brings it back; a folder is one location however its path is spelled (`/` or `\`, trailing separator, `.`/`..`, drive-letter case; `folder_key` in `crates/catalog/src/query.rs`); browsed photos nobody changed are forgotten once their folder has not been browsed for 30 days (Settings → Performance → Local folders, 0 = never; checked when the library opens, or `cmd:library.forgetLocal` with `dryRun`; files and sidecars stay, browsing again brings them back; see `crates/catalog/src/local.rs` for what counts as a change) | | LR-IMP-SIDECAR-SPLIT | Separate XMP sidecar variants | P2 | ⬜ | `cmd:library.xmpPreferences` | sidecar naming option exists (stem/full), no split sidecars | | LR-IMP-FORMATS | Supported formats | P0 | 🟡 | `crates/codecs/src/lib.rs`, `crates/raw/src/lib.rs`, `crates/raw/src/jxl.rs` | JPEG, PNG, TIFF (1- to 64-bit integer, 16- to 64-bit float, incl. bilevel and CCITT fax), WebP, JXL, PSD, GIF, BMP (lossy wide-gamut JXL decodes to the right colours: jxl-oxide desaturated XYB rendered to P3/Rec. 2020, worked around in `crates/codecs/src/jxl.rs`); DNG (incl. lossy / Smart Preview DNG and DNG 1.7 JPEG XL tiles/strips: lossless ones decode bit-exactly on synthetic CFA and LinearRaw files, lossy ones are restored to the declared linear primaries without clipping or gamut mapping, checked on one real file with 108 lossy tiles, and any tile that fails to decode makes the file preview-only; DNG 1.7 row/column-interleaved rasters (`RowInterleaveFactor` / `ColumnInterleaveFactor`) are undone before the mosaic is read, so a file from Adobe's converter with a 2×2 interleave no longer decodes as four scaled-down copies in the wrong colours; a dimension the factor does not divide decodes with short trailing fields; verified on 4 real ILCE-6400 JPEG XL DNGs rendering bit-identical to their non-interleaved twins, factors above 2 rest on the plain reading of the tag; a single-chunk JPEG XL preview IFD is offered as the embedded preview; a DNG whose samples pile up at one value well below its stated `WhiteLevel`, as a camera app's 12-bit Bayer DNG that states 4095 and clips at 3567, has those samples raised to the white level on decode, so highlight reconstruction sees the clipped areas instead of white balance tinting them magenta, issue #548, `crates/raw/src/saturation.rs`), CR2 (colour-filter layout from the file's `CR2CFAPattern` tag, issue #85), ARW (pre-2017 bodies: white balance and black level from the encrypted `SR2SubIFD`, issue #148, its `WB_RGGBLevels` being the white balance the camera applied, issue #535; the DSLR-A900's packed 12-bit strip, two pixels per three bytes, read only when the strip is exactly 1.5 bytes per pixel, with its camera-JPEG window centred, checked on one CC0 file (A850 unmeasured); downsized Sony lossless YCbCr 4:2:0 / 4:2:2 tiles decoded to linear RGB, verified on private ILCE-7M4 3:2 & 4:3 examples including 16-bit full-resolution export; Sony DSC-R1 .SR2 decodes, its big-endian 16-bit words read in the order that fits the sample range, checked on the CC0 3221 sample; its crop and white balance live in the SR2SubIFD and are not read yet; ARW6 Compressed / Compressed (HQ) of the ILCE-7RM6 (`crates/raw/src/vendor/arw6.rs`, `crates/raw/src/llvc.rs`; 12-bit codes exact against a black-box oracle on 8 CC0 files, FF over the full frame, APS-C in the interior (LibRaw's own edge rows differ); output through our own companding curve, measured from CC0 lossless / ARW6 pairs; geometry checked against the camera JPEG, `docs/arw6-compression.md`; the ILCE-7M5 writes the same codec, unverified)), NEF (uncompressed, lossless and lossy compressed 12/14-bit, `crates/raw/src/vendor/nefc.rs`), RAF (uncompressed, lossless/lossy compressed Bayer and X-Trans; `crates/raw/src/vendor/rafc.rs`, full sensor verification on 13 bodies, `docs/raf-compression.md`), RW2 / Leica RWL / Panasonic RAW in every raw format (compressed 4 and 6, the prefix-coded strips of format 8 from the GH6 on, packed 2/5/7, the 16-bit words of the 2005–2007 bodies; black levels, in-camera aspect crops and mapped-out defect pixels; 178 CC0 files from 118 bodies checked, `crates/raw/src/vendor/rw2.rs`), PEF, ORF (uncompressed; colour-filter layout from the file's Exif `CFAPattern`; 12.8 bit/px 16-byte blocks of ten 12-bit samples + a zero pad byte, E-300 / E-330 / E-500 verified on CC0 files, E-M5 Mark II / PEN-F high-res files decode smooth but CFA and black unverified), Kodak DCS520C TIFF (a two-component 12-bit lossless JPEG strip, the two components the even and odd columns; the file's `GrayResponseCurve` table linearises the companded samples to 12 bits, black measured per CFA position, white balance from the `KodakIFD`; `RawFormat::KodakDcs`, `crates/raw/src/vendor/kodak.rs`, checked on the one CC0 sample against its IFD0 thumbnail), Hasselblad 3FR and FFF (a TIFF without a DNG version tag that describes its CFA IFD, levels, crop and white balance with DNG's tags; `RawFormat::CfaTiff`, read by `dng::decode_as`, RGGB when the file states no `CFAPattern`): uncompressed (X1D, X1D II, X2D, CFV 100C) and Hasselblad's lossless JPEG with scan selection value 8 (every FFF; H3D, H4D and CFV-50c 3FR), `ljpeg::decode_hasselblad`, its rule measured on 14 CC0 files with the ljpeg-explorer tool, Samsung SRW without compression (NX5, NX10, NX11 and the NX20-generation bodies NX20, NX200, NX210, NX1000 and NX1100 as 12-bit packed samples in either bit order, EX1 and WB2000 as 16-bit words; layout, camera-JPEG framing, levels and white balance from the maker note, `crates/raw/src/vendor/srw.rs`; median ΔE vs the camera JPEG 2.2–7.6 on 11 of the 12 files from 10 bodies checked, 10.7 (5.7 registered) on the backlit WB2000 sample). 12-bit NEF black level: maker note `0x003d` is in 14-bit units (D750, D780, D850, D7500, Z 50 checked). Lossy type 2 NEF curves of version `0x44 0x40` (D780, D6, Z 5, Z 6, Z 7, Z 7_2) span a quarter of the sample range, read from the table's own point spacing. Import probes (`probe_info`) of compressed NEFs decode only the first 128 rows, the ones the masked-trailing-column test reads in both the probe and the full decode (the D5100 and D7000 write 8 masked columns at 0 with no maker-note tag for them, compressed and uncompressed alike), instead of the whole Huffman stream: ~3 ms instead of the full decode time per file (386 ms on a 24 MP D750 file), issue #708. CR3 lossless CRX Bayer and version 0x100/0x200 C-RAW decodes to sensor pixels with timed white balance, black/white levels and file crop (the shot's aspect ratio from the maker note's `AspectInfo`); full sensor samples match the reference on M50/R100/R8 (`crates/raw/tests/cr3_corpus.rs`, `docs/cr3.md`). EOS R5 Mark II C-RAW and RAW decode too (the QP map's first-symbol literal and 23-zero escape, odd-height Bayer planes): 4 CC0 files pinned, every QP map of 33,665 private C-RAW files decodes exactly, and full-frame images match the camera JPEG. Unsupported coding variants retain metadata and use the embedded JPEG when available; HEVC preview decoding remains unsupported. Missing: CR3 unverified CRX variants, compressed ORF, compressed Samsung SRW (NX1, NX30, NX300, NX500, NX2000, NX3000, NX3300, NX mini: preview only with the reason), NEFs labelled compressed (34713) but stored uncompressed without a `0x0096` table (Z 6 packed 14-bit, D850 12-bit uncompressed), Nikon High Efficiency NEF (HE / HE★ from the Z 8, Z 9, Z 6III and Z f: compression 34713 with a JPEG XS codestream and no `0x0096` table; no public specification, so preview only with the reason "Nikon High Efficiency NEF", issue #193; Lossless compressed NEFs from the same bodies decode), NEF "lossy after split" (preview only: imported with `preview_only` = the decoder's reason, rendered as a rendered JPEG, flagged by a grid badge and loupe/Edit/Info notices, `previewOnly` in `catalog.query`; Reload clears it once the file decodes), TIFF-based raws whose raw data sits in a private block (Phase One / Leaf IIQ, Canon EOS-1D / 1Ds and the Kodak DCS Pro / DCS760C TIFFs (compression 65000): IFD0 is only a reduced RGB image next to a much larger declared picture) are recognised from that structure and import as `preview_only` with the reason, instead of opening as a thumbnail-sized ordinary image (`thumbnail_shell` in `crates/raw/src/lib.rs`), Recognised raws LightCraft cannot decode open as `preview_only` with any usable embedded JPEG, also Canon CRW, Minolta MRW and Sigma X3F (containers recognised by magic, preview found by a structural JPEG scan), Kodak KDC (IFD0 without `ImageWidth`), Leaf MOS and Epson ERF (scan), and any decode failure of a recognised raw, not only an unsupported variant; ones with no JPEG still fail with "without an embedded preview", AVIF decode (HEIC decodes only behind the non-default `heif` feature, which the release packages enable: `crates/heif`, heic-rs for the container and HEVC (bit-exact against libde265 on iPhone tiles) plus our own colour conversion, matching libheif within 1 code value on iPhone-style grids (VUI full range, Display P3 ICC, nclx, 10-bit, irot/imir/clap, gain map/depth ignored); 4:2:0/monochrome only, 4:2:2/4:4:4 Canon/Sony HIF refused; same policy as PhotoCraft), palette (indexed-colour) TIFF (refused by the `tiff` crate) | -| LR-IMP-CAMERA-COVERAGE | Camera coverage, verified per model | P0 | 🟡 | `crates/raw/tests/corpus.rs`, `xtask/src/main.rs` | a supported container is not the same as every camera that writes it decoding correctly: ~55 CC0 corpus files plus 6 exact-sensor CR3 cases and 4 pinned EOS R5 Mark II files (plus ~60 NEFs checked by hand and 178 Panasonic / Leica RW2, RWL and RAW files from 118 bodies, checked against each file's own JPEG) against the >1,000 models Lightroom lists; per-model differences still surface (e.g. the CR2 colour-filter layout differed by model until it was read from the file's own tag, issue #85, checked on 35 CR2 bodies; CR2 black levels were read from border columns light already reaches, left of `SensorInfo`'s border, so CR2s rendered dark with crushed shadows (EOS 6D: 2591 instead of 2047), now measured from the masked columns only, checked on 8 corpus bodies; pre-2017 Sony ARWs opened green until their scrambled white balance / black level were read, issue #148, checked on 16 ARWs from 15 Sony bodies; their white balance now comes from the encrypted `SR2SubIFD`'s `WB_RGGBLevels`, the gains the camera applied, which 14 bodies (DSLR-A450 … A700, NEX-3/5/C3, SLT-A33/A35/A55, ILCE-6001, UMC-R10C) had no other source for and which the maker-note estimate read before missed by up to 100 % on preset shots, issue #535, checked against ExifTool on 100 decoded ARWs from 87 Sony bodies; the encrypted SR2 black level is now read from its directory entry (the DSLR-A450/A500/A550/A700 read 354–975 instead of 512), checked on 126 ARWs from 97 Sony bodies, and downsized lossless M/S ARWs use their measured black level 1024 instead of 512, checked on 12 files from 4 bodies, issue #535, and on a fifth, the ILCE-7CM2 (issue #697: 0.5.0 rendered its lossless M file with that 512 pedestal, the darkest half of a dusk scene +11 L* and blue, the lamplight white; its darkest 0.1 % per channel sits at 1017/1020/1024, and with 1024 the render is within +3 L* of the camera JPEG; the body's compressed and uncompressed "M-size" files are Bayer at 4736×3132 with black 512, two public ones in the corpus); pre-2017 Sony bodies shot in the camera's 16:9 mode (ILCE-7SM2, DSLR-A580) now get the 16:9 crop of their camera JPEG instead of the whole 3:2 frame with padding columns, issue #535; Canon PowerShot and EOS M CR2s whose `ColorData` is stored as bytes opened green until the bytes were read as 16-bit words, 25 files from 25 bodies checked). Compressed RAF sensor arrays verified on 13 Fujifilm bodies (`docs/raf-compression.md`). ILCE-7RM6 ARW6 12-bit codes verified on 8 CC0 files (FF and APS-C, both compression modes). Sony ILCE-7CR (61 MP): lossless compressed L and M and compressed ARW2 samples of one scene in the corpus (black level, default crop, as-shot gains, lossless vs compressed mosaic agreement, fitted camera look), and all nine public codings (also uncompressed, small and APS-C crop) decode and fit. Grow the CC0 corpus per model and test each sample decodes with plausible colour. Nikon CropArea and untagged-preview colour-space regression tests; private Z 8 crop verified; the Nikon D4, which records no CropArea, gets its image area and white level measured on 148 NEFs against the camera JPEG (optical-black stripes and magenta clipped highlights gone). | +| LR-IMP-CAMERA-COVERAGE | Camera coverage, verified per model | P0 | 🟡 | `crates/raw/tests/corpus.rs`, `xtask/src/main.rs` | a supported container is not the same as every camera that writes it decoding correctly: ~55 CC0 corpus files plus 6 exact-sensor CR3 cases and 4 pinned EOS R5 Mark II files (plus ~60 NEFs checked by hand and 178 Panasonic / Leica RW2, RWL and RAW files from 118 bodies, checked against each file's own JPEG) against the >1,000 models Lightroom lists; per-model differences still surface (e.g. the CR2 colour-filter layout differed by model until it was read from the file's own tag, issue #85, checked on 35 CR2 bodies; CR2 black levels were read from border columns light already reaches, left of `SensorInfo`'s border, so CR2s rendered dark with crushed shadows (EOS 6D: 2591 instead of 2047), now measured from the masked columns only, checked on 8 corpus bodies; pre-2017 Sony ARWs opened green until their scrambled white balance / black level were read, issue #148, checked on 16 ARWs from 15 Sony bodies; their white balance now comes from the encrypted `SR2SubIFD`'s `WB_RGGBLevels`, the gains the camera applied, which 14 bodies (DSLR-A450 … A700, NEX-3/5/C3, SLT-A33/A35/A55, ILCE-6001, UMC-R10C) had no other source for and which the maker-note estimate read before missed by up to 100 % on preset shots, issue #535, checked against ExifTool on 100 decoded ARWs from 87 Sony bodies; the encrypted SR2 black level is now read from its directory entry (the DSLR-A450/A500/A550/A700 read 354–975 instead of 512), checked on 126 ARWs from 97 Sony bodies, and downsized lossless M/S ARWs use their measured black level 1024 instead of 512, checked on 12 files from 4 bodies, issue #535, and on a fifth, the ILCE-7CM2 (issue #697: 0.5.0 rendered its lossless M file with that 512 pedestal, the darkest half of a dusk scene +11 L* and blue, the lamplight white; its darkest 0.1 % per channel sits at 1017/1020/1024, and with 1024 the render is within +3 L* of the camera JPEG; the body's compressed and uncompressed "M-size" files are Bayer at 4736×3132 with black 512, two public ones in the corpus); pre-2017 Sony bodies shot in the camera's 16:9 mode (ILCE-7SM2, DSLR-A580) now get the 16:9 crop of their camera JPEG instead of the whole 3:2 frame with padding columns, issue #535; Canon PowerShot and EOS M CR2s whose `ColorData` is stored as bytes opened green until the bytes were read as 16-bit words, 25 files from 25 bodies checked). Compressed RAF sensor arrays verified on 13 Fujifilm bodies (`docs/raf-compression.md`). ILCE-7RM6 ARW6 12-bit codes verified on 8 CC0 files (FF and APS-C, both compression modes). Sony ILCE-7CR (61 MP): lossless compressed L and M and compressed ARW2 samples of one scene in the corpus (black level, default crop, as-shot gains, lossless vs compressed mosaic agreement, fitted camera look), and all nine public codings (also uncompressed, small and APS-C crop) decode and fit. Grow the CC0 corpus per model and test each sample decodes with plausible colour. Nikon CropArea and untagged-preview colour-space regression tests; private Z 8 crop verified; the Nikon D4, which records no CropArea, gets its image area and white level measured on 148 NEFs against the camera JPEG (optical-black stripes and magenta clipped highlights gone); every Nikon body without CropArea is surveyed in `docs/nikon-bodies.md` (`cargo xtask raw-frame`): 36 model / size / depth groups whose data keeps masked or dark lines (D7000 and D5100 issue #976, D800 issue #914, Df, D3, D3S, D700, D300, D300S, D600, D610, D810, D4S, D5600, Coolpix A, D3000, D40X, D60, D80, D2Xs, D800E, D4 12-bit) crop to their camera JPEG's frame measured on raw.pixls.us CC0 samples; D3200, D3100, D200, D50 and Nikon 1 V1 / V2 still need more samples. | | LR-IMP-PREVIEW-READ | Preview reads the header, not the raw | P0 | ✅ | `crates/raw/src/preview.rs` (`bounded_preview`, `embedded_preview_from_range`), `crates/engine/src/files.rs` (`preview_window`), `docs/raw-preview-reads.md` | a grid thumbnail and a loupe preview of an unedited raw show the camera's embedded JPEG, which sits near the start of the file (a 24 MP Fuji RAF keeps its 5.6 MB JPEG in a 56 MB file), so the preview loader reads the header and that JPEG instead of the whole file: 56.5 MB → 5.9 MB and ~10 s → 0.96 s measured on one real RAF over a GVFS/SMB Wi-Fi share (byte-identical preview pixels; `LIGHTCRAFT_PROFILE=1` reports the bytes); the RAF pointer is read from its fixed header fields, formats whose preview only the whole file reveals (CR3 boxes, TIFF pointer tags past the prefix, CRW/MRW/X3F scans) keep the whole-file path, and a lying pointer, a short read or a file that changes underneath us falls back to it rather than losing the preview. An unedited raw's **grid thumbnail is that camera JPEG itself**, so no sensor decode is scheduled behind it (`Session::embedded_thumb_is_final`, `grid::skips_the_real_render`): drawing a 512 px thumbnail used to decode the whole raw — 45 s a photo at 1.2 MB/s, 8.3 GB for a 149-raw folder — and the queue it built delayed the render the user was waiting for; a cached render as stand-in, an edited photo and a raw without an embedded JPEG still render | | LR-IMP-CULL-AT-IMPORT | Culling analysis at import | P2 | 🟡 | `cmd:photo.analyze` | run Assisted Culling on the imported photos (they're selected after an import); not automatic | | LR-IMP-MOVE | Move on import [Classic] | P1 | ✅ | `cmd:library.import` (`mode` move), `crates/engine/src/import_move.rs`, `crates/engine/src/tests_import_move.rs`, `crates/ui-egui/src/import.rs` | Transfer ▸ Move with Copy's destination, folders (day / month / one folder / custom template), rename template and example destination; XMP sidecars (both namings) move along; each source is removed only after its destination is written (hard link on the same volume, else copied, synced and compared byte for byte) and its catalog record is saved; failed, duplicate, unchecked files keep their sources, taken names get -1, -2…, never overwritten; files already in the destination/library are added in place; sources that can't be removed (read-only card) are kept and reported (`kept`). Undo removes the photos from the library but leaves the moved files at the destination. No Copy as DNG while moving | diff --git a/docs/raw-parity.md b/docs/raw-parity.md index 2b4b9efb5..27eaaccc2 100644 --- a/docs/raw-parity.md +++ b/docs/raw-parity.md @@ -1,6 +1,6 @@ # RAW parity: cameras, formats, demosaic, colour and lens profiles -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (EOS R5 Mark II decoded and verified: CRX QP-map escape, odd-height planes) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 (Camera Raw 18.7) +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (Nikon image areas of bodies without CropArea surveyed and measured, issues #976 / #914; NEF decode gaps listed) · **Target:** Adobe Lightroom Classic 15.5 / Lightroom 9.6 (Camera Raw 18.7) Raw processing is the deepest single dimension of Lightroom parity: a photographer whose camera does not decode, or decodes with the wrong colour, cannot switch. This document measures it model by @@ -89,7 +89,7 @@ committed table is stale. |---|---:|---:|---:|---| | Canon | 33% | 73% | 19% | 18 of the 22 popular bodies write CR3; 4 of them verified (M50, R8, R100, R5 Mark II), the rest at 0.6 | | Sony | 27% | 98% | 91% | bulk-checked | -| Nikon | 16% | 91% | 12% | decoders cover every NEF coding but HE; few bodies verified | +| Nikon | 16% | 91% | 12% | decoders cover NEF codings but HE and the compressed NEFs without a linearization table (D100, D1X, Coolpix P330 / P7700 / P7800, D4S and D810 small raw); few bodies verified; image area of every body without `CropArea` surveyed ([nikon-bodies.md](nikon-bodies.md)) | | Fujifilm | 10% | 91% | 45% | | | Panasonic | 4% | 100% | 98% | bulk-checked | | OM / Olympus | 3% | 3% | 1% | compressed ORF | @@ -121,6 +121,8 @@ checked, and Canon, the largest bucket, is the weakest of the big four. | NEF | uncompressed, lossless, lossy type 1 / 2, lossy after split | ✅ | D5100, D7000, D7500, Z f corpus; ~60 NEFs by hand; #633 | | NEF | packed 14-bit stored under a compressed tag (Z 6II uncompressed) | ⬜ | #769; fix in PR #671 (not merged) | | NEF | High Efficiency / HE★ (JPEG XS) | ⬜ | named, preview (#193); needs a JPEG XS decoder | +| NEF | compressed without a linearization table (D100, D1X, Coolpix P330 / P7700 / P7800 NRW, D4S and D810 small raw) | ⬜ | refused as unsupported; one raw.pixls.us sample each ([nikon-bodies.md](nikon-bodies.md)) | +| NEF | image area of bodies without `CropArea` | 🟡 | 36 model / size / depth groups cropped to their measured camera frame (D800 #914, D7000 #976, Df, D3, D300, D600 …); D3200, D3100, D200, D50, Nikon 1 V1 / V2 pending more samples: [nikon-bodies.md](nikon-bodies.md) | | ARW | uncompressed, cRAW (ARW2), lossless LJ92 (L / M / S) | ✅ | 86 bodies (#535); M/S black level 1024 | | ARW | packed 12-bit (A900) | ✅ | one CC0 file; A850 unmeasured | | ARW | ARW6 Compressed / HQ (compression 32766; ILCE-7RM6) | ✅ | 8 CC0 files; 12-bit mode unsupported; `docs/arw6-compression.md` | @@ -266,6 +268,7 @@ Beyond decoding: | Date | Change | Summary | |---|---|---| +| 2026-10-11 | minor | Nikon: every body without `CropArea` surveyed ([nikon-bodies.md](nikon-bodies.md)); 36 model / size / depth groups cropped to their measured camera frame (#976, #914), 6 pending; NEF row no longer claims every coding but HE decodes (compressed NEFs without a linearization table listed) | | 2026-10-10 | minor | Compressed ORF: pointer to the two Olympus patents that describe the method, as a clean-room starting point | | 2026-10-11 | minor | EOS R5 Mark II verified (CRX QP-map first literal and limited-length escape, odd-height Bayer planes; 4 CC0 files pinned, QP maps of 33,665 private files): 235 verified, 942 unverified; use-weighted 85% (42% on verified bodies); decoding 77%, RAW readiness unchanged at ~56% | | 2026-10-10 (later) | major | Model-by-model measurement against Adobe's published list (1,446 models: 234 verified, 943 unverified, 233 preview, 36 unsupported); `docs/raw/` data and re-measure script; use-weighted share 84% (40% on verified bodies); variant matrix; colour and lens sections with scores; ranked next cameras; RAW readiness ~56% from written parts | diff --git a/docs/whats-new.md b/docs/whats-new.md index fb8b285a3..722a73e91 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -2,6 +2,12 @@ ## 2026-10-11 +### Nikon raws without coloured edge bars +- Raws from older Nikon bodies no longer show a thin coloured or dark bar along one edge (the right edge, or the top + of a portrait photo): masked sensor columns were being developed as part of the picture (issues #976, #914). The + D7000, D5100, D800, D800E, Df, D4, D3, D3S, D700, D300, D300S, D600, D610, D810, D4S, D5600, Coolpix A, D3000, D40X, + D60, D80 and D2Xs now show the area the camera itself frames, a few pixels smaller than before. + ### JPEG XL export - Export as JPEG XL (issue #247): Format ▸ JPEG XL in the Export dialog, `format: "jxl"` for agents and the CLI (`render in.raw -o out.jxl`). Quality as for JPEG, or Lossless; Effort (Fast / Normal) trades time for a diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 08ef435c5..e0f243ea3 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -34,9 +34,15 @@ commands: build the browser app (apps/lightcraft-web) into /web-site/; --serve serves it on http://127.0.0.1: (default 8080) ci fmt --check, clippy -D warnings, heif, test, parity refs, layers, assets, wasm (stops at first failure) - corpus [--download] - show where test corpora live; --download fetches PngSuite and CC0 raw samples (raw.pixls.us) into corpus/ and checks their sha256 + corpus [--download [nikon]] + show where test corpora live; --download fetches PngSuite and CC0 raw samples (raw.pixls.us) into corpus/ and checks their sha256; + --download nikon fetches the Nikon survey's 138 CC0 samples (docs/nikon-bodies/samples.json, ~2.7 GB) stats [--exact] count tests and lines per crate (--exact: ask the test harness via `-- --list`) + raw-frame [--json] FILE… + measure where each raw's embedded camera JPEG sits in its sensor data, which edge bands hold no + picture and what the decoder's crop keeps beyond the camera frame (any make with a full-size + embedded JPEG); print image-area entries for Nikon bodies that record no crop (MEASURED_BODIES in + crates/raw/src/vendor/nef.rs; survey in docs/nikon-bodies.md) "; fn main() -> ExitCode { @@ -52,8 +58,9 @@ fn main() -> ExitCode { Some("wasm") => cmd_wasm(), Some("web") => web::run(&rest), Some("ci") => cmd_ci(), - Some("corpus") => cmd_corpus(rest.contains(&"--download")), + Some("corpus") => cmd_corpus(rest.contains(&"--download"), rest.contains(&"nikon")), Some("stats") => stats::run(&root(), rest.contains(&"--exact")), + Some("raw-frame") => cmd_raw_frame(&rest), Some("-h" | "--help" | "help") | None => { print!("{USAGE}"); Ok(()) @@ -69,6 +76,20 @@ fn main() -> ExitCode { } } +/// `cargo xtask raw-frame FILE…`: runs the `raw_frame` example of `lightcraft-engine` on the files. +fn cmd_raw_frame(files: &[&str]) -> Result<(), String> { + if files.is_empty() { + return Err("raw-frame needs one or more raw files (several per camera, with detail across the frame)".into()); + } + eprintln!("$ cargo run --release -p lightcraft-engine --example raw_frame -- {}", files.join(" ")); + let status = cargo() + .args(["run", "--release", "-q", "-p", "lightcraft-engine", "--example", "raw_frame", "--"]) + .args(files) + .status() + .map_err(|e| format!("raw_frame: {e}"))?; + if status.success() { Ok(()) } else { Err("raw_frame failed".into()) } +} + /// Workspace root (parent of the xtask crate). pub fn root() -> PathBuf { // `cargo run` sets it at run time; prefer that over the compile-time value, which goes stale @@ -887,7 +908,7 @@ const RAW_SAMPLES: &[(&str, &str, &str)] = &[ ), ]; -fn cmd_corpus(download: bool) -> Result<(), String> { +fn cmd_corpus(download: bool, nikon: bool) -> Result<(), String> { let corpus = root().join("corpus"); println!( "Test corpora live under {} (git-ignored, never committed). @@ -895,17 +916,26 @@ Tests that use a corpus skip cleanly when it is absent. corpus/raw/ raw.pixls.us samples (CC0) — lightcraft-raw decodes every file. corpus/images/ CC0 / public-domain JPEG/PNG/TIFF/HEIC samples (optional) + corpus/raw/nikon-inventory/ + the Nikon survey's CC0 samples (docs/nikon-bodies/samples.json; `--download nikon`) ", corpus.display() ); if !download { return Ok(()); } - let dest = corpus.join("raw"); + let (dest, samples) = if nikon { + (corpus.join("raw/nikon-inventory"), nikon_samples()?) + } else { + (corpus.join("raw"), RAW_SAMPLES.iter().map(|(n, u, s)| (n.to_string(), u.to_string(), s.to_string())).collect()) + }; std::fs::create_dir_all(&dest).map_err(|e| format!("create {}: {e}", dest.display()))?; let mut bad = Vec::new(); - for (name, url, sha256) in RAW_SAMPLES { + for (name, url, sha256) in &samples { let out = dest.join(name); + if let Some(dir) = out.parent() { + std::fs::create_dir_all(dir).map_err(|e| format!("create {}: {e}", dir.display()))?; + } if !out.exists() { let mut curl = Command::new("curl"); curl.args(["-fsSL", "-o"]).arg(&out).arg(url); @@ -932,6 +962,28 @@ Tests that use a corpus skip cleanly when it is absent. )) } +/// The Nikon survey's samples: (file under `corpus/raw/nikon-inventory/`, URL, sha256) from +/// `docs/nikon-bodies/samples.json`. +fn nikon_samples() -> Result, String> { + let path = root().join("docs/nikon-bodies/samples.json"); + let text = std::fs::read_to_string(&path).map_err(|e| format!("read {}: {e}", path.display()))?; + let json: serde_json::Value = serde_json::from_str(&text).map_err(|e| format!("{}: {e}", path.display()))?; + let files = json.get("files").and_then(|f| f.as_array()).ok_or_else(|| format!("{}: no `files` list", path.display()))?; + files + .iter() + .map(|f| { + let field = + |k: &str| f.get(k).and_then(|v| v.as_str()).map(str::to_string).ok_or_else(|| format!("{}: an entry has no `{k}`", path.display())); + let file = field("file")?; + // a relative path inside the folder: no `..`, no root + if file.split('/').any(|c| c.is_empty() || c == "." || c == "..") { + return Err(format!("{}: unsafe file name {file:?}", path.display())); + } + Ok((file, field("url")?, field("sha256")?)) + }) + .collect() +} + fn file_sha256(path: &Path) -> Result { use sha2::{Digest, Sha256}; let mut file = std::fs::File::open(path).map_err(|e| format!("open {}: {e}", path.display()))?;