{
  "checkedAt": "2026-10-02",
  "definition": "Approximate digital megapixel equivalent under the user-supplied spatial sampling formula, at the stated resolving-power target or MTF response threshold.",
  "formula": {
    "expression": "MP = widthMm * heightMm * (2 * cyclesPerMm)^2 / 1e6",
    "samplesPerCycle": 2,
    "referenceFrameMm": [
      36,
      24
    ],
    "missingValueMeaning": "Unavailable; never zero.",
    "unitsPolicy": "MTF cycles/mm and ADOX lp/mm are explicit. Resolving-power lines/mm is interpreted as line-pair cycles as in the supplied article; original wording retained."
  },
  "summary": {
    "catalogFilms": 60,
    "verifiedPDFsAssessed": 45,
    "filmStatuses": {
      "matching-PDF-not-available": 20,
      "ready-MTF50": 12,
      "PDF-lacks-spatial-resolution-input": 18,
      "ready-published-resolving-power": 8,
      "ready-base-stock-proxy": 2
    },
    "documentCapabilities": {
      "published-resolving-power": 1,
      "published-resolving-power-and-MTF": 8,
      "no-spatial-resolution-input": 23,
      "historical-collection-and-method": 1,
      "MTF": 12
    },
    "directCatalogFilmsWithInputs": 20,
    "baseStockProxyFilms": 2,
    "inputRecords": 46,
    "completeCatalogMTF50Stocks": 18,
    "completeCatalogMTF10Stocks": 0,
    "partialMTF10SourceStocks": 4
  },
  "inputs": [
    {
      "id": "fujicolor_c200-target-1.6-1",
      "filmId": "fujicolor_c200",
      "sourceFilmId": "fujicolor_c200",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 50,
      "cyclesPerMmRange": [
        50,
        50
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujicolor_c200.pdf",
      "sourceSha256": "fe9a94fb0adc8817e77156517ab8cfe60fe7ce1f6275cc223686db664d6f2629",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/cce1e1943550fc3e76c22411066f0100/films_c200_datasheet_01.pdf",
      "page": 5,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        8.64,
        8.64
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        37.52,
        37.52
      ],
      "samplingPixelsPerInchRange": [
        2540.0,
        2540.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_c200-target-1000-1",
      "filmId": "fujicolor_c200",
      "sourceFilmId": "fujicolor_c200",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 125,
      "cyclesPerMmRange": [
        125,
        125
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujicolor_c200.pdf",
      "sourceSha256": "fe9a94fb0adc8817e77156517ab8cfe60fe7ce1f6275cc223686db664d6f2629",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/cce1e1943550fc3e76c22411066f0100/films_c200_datasheet_01.pdf",
      "page": 5,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        54.0,
        54.0
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        234.5,
        234.5
      ],
      "samplingPixelsPerInchRange": [
        6350.0,
        6350.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_superia_xtra_400-target-1.6-1",
      "filmId": "fujicolor_superia_xtra_400",
      "sourceFilmId": "fujicolor_superia_xtra_400",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 50,
      "cyclesPerMmRange": [
        50,
        50
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujicolor_superia_xtra_400.pdf",
      "sourceSha256": "7e77f9c3bd3001e40f8cafea55c73cdfda09fd1980b55b73862d6da87f6a11b2",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/af234c58ab3d3b67b41cde22b1155309/films_superia-xtra400_datasheet_01.pdf",
      "page": 5,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        8.64,
        8.64
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        37.52,
        37.52
      ],
      "samplingPixelsPerInchRange": [
        2540.0,
        2540.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_superia_xtra_400-target-1000-1",
      "filmId": "fujicolor_superia_xtra_400",
      "sourceFilmId": "fujicolor_superia_xtra_400",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 125,
      "cyclesPerMmRange": [
        125,
        125
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujicolor_superia_xtra_400.pdf",
      "sourceSha256": "7e77f9c3bd3001e40f8cafea55c73cdfda09fd1980b55b73862d6da87f6a11b2",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/af234c58ab3d3b67b41cde22b1155309/films_superia-xtra400_datasheet_01.pdf",
      "page": 5,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        54.0,
        54.0
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        234.5,
        234.5
      ],
      "samplingPixelsPerInchRange": [
        6350.0,
        6350.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_pro_400h-target-1.6-1",
      "filmId": "fujicolor_pro_400h",
      "sourceFilmId": "fujicolor_pro_400h",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 50,
      "cyclesPerMmRange": [
        50,
        50
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujicolor_pro_400h.pdf",
      "sourceSha256": "9a2ca2d506cf57c7747ae5b9557d34a6102a76c009b2bb4eaedde829615205d6",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/d68b00b13f1b6234629342317be9cf2b/films_pro-400h_datasheet_01.pdf",
      "page": 7,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        8.64,
        8.64
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        37.52,
        37.52
      ],
      "samplingPixelsPerInchRange": [
        2540.0,
        2540.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_pro_400h-target-1000-1",
      "filmId": "fujicolor_pro_400h",
      "sourceFilmId": "fujicolor_pro_400h",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 125,
      "cyclesPerMmRange": [
        125,
        125
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujicolor_pro_400h.pdf",
      "sourceSha256": "9a2ca2d506cf57c7747ae5b9557d34a6102a76c009b2bb4eaedde829615205d6",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/d68b00b13f1b6234629342317be9cf2b/films_pro-400h_datasheet_01.pdf",
      "page": 7,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        54.0,
        54.0
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        234.5,
        234.5
      ],
      "samplingPixelsPerInchRange": [
        6350.0,
        6350.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_velvia_50-target-1.6-1",
      "filmId": "fujichrome_velvia_50",
      "sourceFilmId": "fujichrome_velvia_50",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 80,
      "cyclesPerMmRange": [
        80,
        80
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujichrome_velvia_50.pdf",
      "sourceSha256": "668844e4cf81d5d234645c90d0b3217ed81c3be925a063b4752f7a71c3954d4c",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/3d88b84d7cbd43d8c3a32ca72d107ae4/films_velvia-50_datasheet_01.pdf",
      "page": 7,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        22.1184,
        22.1184
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        96.0512,
        96.0512
      ],
      "samplingPixelsPerInchRange": [
        4064.0,
        4064.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_velvia_50-target-1000-1",
      "filmId": "fujichrome_velvia_50",
      "sourceFilmId": "fujichrome_velvia_50",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 160,
      "cyclesPerMmRange": [
        160,
        160
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujichrome_velvia_50.pdf",
      "sourceSha256": "668844e4cf81d5d234645c90d0b3217ed81c3be925a063b4752f7a71c3954d4c",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/3d88b84d7cbd43d8c3a32ca72d107ae4/films_velvia-50_datasheet_01.pdf",
      "page": 7,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        88.4736,
        88.4736
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        384.2048,
        384.2048
      ],
      "samplingPixelsPerInchRange": [
        8128.0,
        8128.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_velvia_100-target-1.6-1",
      "filmId": "fujichrome_velvia_100",
      "sourceFilmId": "fujichrome_velvia_100",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 80,
      "cyclesPerMmRange": [
        80,
        80
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujichrome_velvia_100.pdf",
      "sourceSha256": "4c57a27b978311ca2ef819f2bf2d74c757639d27f9f0bd94e5f49c4b1c3d5902",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/0eb6f2c8057e9e186e6975edf8d493ae/films_velvia-100_datasheet_01.pdf",
      "page": 8,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        22.1184,
        22.1184
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        96.0512,
        96.0512
      ],
      "samplingPixelsPerInchRange": [
        4064.0,
        4064.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_velvia_100-target-1000-1",
      "filmId": "fujichrome_velvia_100",
      "sourceFilmId": "fujichrome_velvia_100",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 160,
      "cyclesPerMmRange": [
        160,
        160
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujichrome_velvia_100.pdf",
      "sourceSha256": "4c57a27b978311ca2ef819f2bf2d74c757639d27f9f0bd94e5f49c4b1c3d5902",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/0eb6f2c8057e9e186e6975edf8d493ae/films_velvia-100_datasheet_01.pdf",
      "page": 8,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        88.4736,
        88.4736
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        384.2048,
        384.2048
      ],
      "samplingPixelsPerInchRange": [
        8128.0,
        8128.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_provia_100f-target-1.6-1",
      "filmId": "fujichrome_provia_100f",
      "sourceFilmId": "fujichrome_provia_100f",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 60,
      "cyclesPerMmRange": [
        60,
        60
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujichrome_provia_100f.pdf",
      "sourceSha256": "e28d54e76e8fcdf44c8ffacc930b5b8f2ea54a7cdaeedfcc91790e68eb599de8",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/4ca5dfc19ecbea6b26c635b5079d6ff3/films_provia-100f_datasheet_01.pdf",
      "page": 6,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        12.4416,
        12.4416
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        54.0288,
        54.0288
      ],
      "samplingPixelsPerInchRange": [
        3048.0,
        3048.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_provia_100f-target-1000-1",
      "filmId": "fujichrome_provia_100f",
      "sourceFilmId": "fujichrome_provia_100f",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 140,
      "cyclesPerMmRange": [
        140,
        140
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "static/datasheets/fujichrome_provia_100f.pdf",
      "sourceSha256": "e28d54e76e8fcdf44c8ffacc930b5b8f2ea54a7cdaeedfcc91790e68eb599de8",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/4ca5dfc19ecbea6b26c635b5079d6ff3/films_provia-100f_datasheet_01.pdf",
      "page": 6,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        67.7376,
        67.7376
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        294.1568,
        294.1568
      ],
      "samplingPixelsPerInchRange": [
        7112.0,
        7112.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujifilm_200-target-1000-1",
      "filmId": "fujifilm_200",
      "sourceFilmId": "fujifilm_200",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 125,
      "cyclesPerMmRange": [
        125,
        125
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": null,
      "sourceSha256": null,
      "sourceUrl": "https://www.fujifilm.com/us/en/consumer/films/consumer-film/fujifilm-200/specifications",
      "page": null,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        54.0,
        54.0
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        234.5,
        234.5
      ],
      "samplingPixelsPerInchRange": [
        6350.0,
        6350.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujifilm_400-target-1000-1",
      "filmId": "fujifilm_400",
      "sourceFilmId": "fujifilm_400",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "site-catalog",
      "originalUnit": "lines/mm",
      "originalValue": 125,
      "cyclesPerMmRange": [
        125,
        125
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": null,
      "sourceSha256": null,
      "sourceUrl": "https://www.fujifilm.com/us/en/consumer/films/consumer-film/fujifilm-400/specifications",
      "page": null,
      "processingConditions": "Manufacturer standard processing; historical sheet or current regional webpage, as identified by source.",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        54.0,
        54.0
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        234.5,
        234.5
      ],
      "samplingPixelsPerInchRange": [
        6350.0,
        6350.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_tmax_100-target-1.6-1",
      "filmId": "kodak_tmax_100",
      "sourceFilmId": "kodak_tmax_100",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "article-supplement",
      "originalUnit": "lines/mm",
      "originalValue": 63,
      "cyclesPerMmRange": [
        63,
        63
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "research/film-resolution/documents/kodak-tmax-100-sheet.pdf",
      "sourceSha256": "00518d7d1e296d6065f6e41ea3db999e5d8714679fb3d2b76d9a49eb207113be",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4016_TMax_100.pdf",
      "page": 8,
      "processingConditions": "D-76 at 20 C, ISO 6328",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        13.716864,
        13.716864
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        59.566752,
        59.566752
      ],
      "samplingPixelsPerInchRange": [
        3200.4,
        3200.4
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_tmax_100-target-1000-1",
      "filmId": "kodak_tmax_100",
      "sourceFilmId": "kodak_tmax_100",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "article-supplement",
      "originalUnit": "lines/mm",
      "originalValue": 200,
      "cyclesPerMmRange": [
        200,
        200
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "research/film-resolution/documents/kodak-tmax-100-sheet.pdf",
      "sourceSha256": "00518d7d1e296d6065f6e41ea3db999e5d8714679fb3d2b76d9a49eb207113be",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4016_TMax_100.pdf",
      "page": 8,
      "processingConditions": "D-76 at 20 C, ISO 6328",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        138.24,
        138.24
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        600.32,
        600.32
      ],
      "samplingPixelsPerInchRange": [
        10160.0,
        10160.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_tmax_400-target-1.6-1",
      "filmId": "kodak_tmax_400",
      "sourceFilmId": "kodak_tmax_400",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1.6:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "repository-photo-stock",
      "originalUnit": "lines/mm",
      "originalValue": 50,
      "cyclesPerMmRange": [
        50,
        50
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "research/film-resolution/documents/kodak-tmax-400-sheet.pdf",
      "sourceSha256": "9bd252fdcf37019dc4fb73f40f4d316b28b814190a333b28e7d6c339689c9171",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4043_TMax_400.pdf",
      "page": 7,
      "processingConditions": "D-76 at 20 C, ISO 6328",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        8.64,
        8.64
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        37.52,
        37.52
      ],
      "samplingPixelsPerInchRange": [
        2540.0,
        2540.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_tmax_400-target-1000-1",
      "filmId": "kodak_tmax_400",
      "sourceFilmId": "kodak_tmax_400",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "repository-photo-stock",
      "originalUnit": "lines/mm",
      "originalValue": 200,
      "cyclesPerMmRange": [
        200,
        200
      ],
      "unitInterpretation": "Assume resolving-power counts denote complete line-pair cycles. Fujifilm and Kodak source wording retained; do not silently conflate individual line widths with pairs.",
      "sourceFile": "research/film-resolution/documents/kodak-tmax-400-sheet.pdf",
      "sourceSha256": "9bd252fdcf37019dc4fb73f40f4d316b28b814190a333b28e7d6c339689c9171",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4043_TMax_400.pdf",
      "page": 7,
      "processingConditions": "D-76 at 20 C, ISO 6328",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        138.24,
        138.24
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        600.32,
        600.32
      ],
      "samplingPixelsPerInchRange": [
        10160.0,
        10160.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "adox_cms_20_ii-target-1000-1",
      "filmId": "adox_cms_20_ii",
      "sourceFilmId": "adox_cms_20_ii",
      "criterion": "resolving-power-target",
      "testObjectContrast": "1000:1",
      "thresholdPercent": null,
      "derivation": "manufacturer-published-number",
      "scope": "article-supplement",
      "originalUnit": "lp/mm",
      "originalValue": 800,
      "cyclesPerMmRange": [
        800,
        800
      ],
      "unitInterpretation": "Source explicitly states Lp/mm (line pairs).",
      "sourceFile": "research/film-resolution/documents/adox-cms20-current-sheet.pdf",
      "sourceSha256": "061d6112e9ab64b40724e772284764f67c52ab46e2a7b4dcad661fa2325a8a95",
      "sourceUrl": "https://www.fotoimpex.de/shop/images/products/media/30945_5_PDF-Datasheet.pdf",
      "page": 2,
      "processingConditions": "CMS 20 II PRO with dedicated ADOTECH IV guidance",
      "proxy": false,
      "completeAcrossPublishedCurves": null,
      "calculatedMegapixelEquivalent35mmRange": [
        2211.84,
        2211.84
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        9605.12,
        9605.12
      ],
      "samplingPixelsPerInchRange": [
        40640.0,
        40640.0
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_portra_160-mtf50",
      "filmId": "kodak_portra_160",
      "sourceFilmId": "kodak_portra_160",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        35.039569,
        65.925038
      ],
      "sourceFile": "static/datasheets/kodak_portra_160.pdf",
      "sourceSha256": "1f3430cd8e1b4ad370d8bbf8c648f6f5871a9911dfd5794613e9bbf3bbf9cb82",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4051.pdf",
      "page": 4,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        4.243178,
        15.020158
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        18.426393,
        65.226428
      ],
      "samplingPixelsPerInchRange": [
        1780.010105,
        3348.99193
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_portra_400-mtf50",
      "filmId": "kodak_portra_400",
      "sourceFilmId": "kodak_portra_400",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        39.613931,
        72.456761
      ],
      "sourceFile": "static/datasheets/kodak_portra_400.pdf",
      "sourceSha256": "70b15171673c5d01505f58ace448995ad72acbe5e401d1966563a61ac0712838",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4050.pdf",
      "page": 4,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        5.423375,
        18.143939
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        23.551507,
        78.791733
      ],
      "samplingPixelsPerInchRange": [
        2012.387695,
        3680.803459
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_portra_800-mtf50",
      "filmId": "kodak_portra_800",
      "sourceFilmId": "kodak_portra_800",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        33.83387,
        72.895287
      ],
      "sourceFile": "static/datasheets/kodak_portra_800.pdf",
      "sourceSha256": "13581198dffa01c5a2a38ab87d96a73cf2e2755b6514d55c65206fe621a60b5a",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4040.pdf",
      "page": 5,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        3.95619,
        18.364226
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        17.180119,
        79.748353
      ],
      "samplingPixelsPerInchRange": [
        1718.760596,
        3703.08058
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_ektar_100-mtf50",
      "filmId": "kodak_ektar_100",
      "sourceFilmId": "kodak_ektar_100",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        35.616479,
        55.231289
      ],
      "sourceFile": "static/datasheets/kodak_ektar_100.pdf",
      "sourceSha256": "38a41d47ad006cd563793033f83c8f9ef6cdd3c8300695c31facfc71d368f8db",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4046.pdf",
      "page": 4,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        4.384052,
        10.542512
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        19.038152,
        45.781833
      ],
      "samplingPixelsPerInchRange": [
        1809.317133,
        2805.749481
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_ektachrome_e100-mtf50",
      "filmId": "kodak_ektachrome_e100",
      "sourceFilmId": "kodak_ektachrome_e100",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        28.617408,
        45.498089
      ],
      "sourceFile": "static/datasheets/kodak_ektachrome_e100.pdf",
      "sourceSha256": "d6e6fa1497c4fc16010997b1a8510d9df3b4692e34c48599c8a4338d5768fab6",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/e4000_ektachrome_100.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        2.830312,
        7.154183
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        12.290892,
        31.067702
      ],
      "samplingPixelsPerInchRange": [
        1453.764326,
        2311.302921
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_aerocolor_iv_2460-mtf50",
      "filmId": "kodak_aerocolor_iv_2460",
      "sourceFilmId": "kodak_aerocolor_iv_2460",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        23.554542,
        38.882875
      ],
      "sourceFile": "static/datasheets/kodak_aerocolor_iv_2460.pdf",
      "sourceSha256": "de0bbc31dcde97f53f8a736e1e5e7becf8ead15911613936410ed2d3a5287adf",
      "sourceUrl": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
      "page": 5,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        1.917446,
        5.22505
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        8.326685,
        22.690265
      ],
      "samplingPixelsPerInchRange": [
        1196.570734,
        1975.25005
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_verita_200d-mtf50",
      "filmId": "kodak_verita_200d",
      "sourceFilmId": "kodak_verita_200d",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        30.442234,
        44.446503
      ],
      "sourceFile": "static/datasheets/kodak_verita_200d.pdf",
      "sourceSha256": "aa5bfd899003cf4a0ae5a86a33325e0eac2ed16b9fca61c8894532de1458bae2",
      "sourceUrl": "https://www.kodak.com/content/pdfs/motion/KODAK-VERITA-200D-5206-7206-technical-information.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        3.202778,
        6.827299
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        13.908358,
        29.648178
      ],
      "samplingPixelsPerInchRange": [
        1546.465487,
        2257.882352
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_vision3_50d-mtf50",
      "filmId": "kodak_vision3_50d",
      "sourceFilmId": "kodak_vision3_50d",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-envelope",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        34.536435,
        44.252011
      ],
      "sourceFile": "static/datasheets/kodak_vision3_50d.pdf",
      "sourceSha256": "b4613661abed641671329eff3bd7d5686b268eb26b954ef1c27ea68f363caca6",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-50D-5203-7203-technical-information.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "raster-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        4.122197,
        6.767679
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        17.901022,
        29.389273
      ],
      "samplingPixelsPerInchRange": [
        1754.450898,
        2248.002159
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_vision3_200t-mtf50",
      "filmId": "kodak_vision3_200t",
      "sourceFilmId": "kodak_vision3_200t",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-envelope",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        37.496526,
        66.507398
      ],
      "sourceFile": "static/datasheets/kodak_vision3_200t.pdf",
      "sourceSha256": "6208b3938416434bb74fc628d102b59cd60cb1704510202496b46197796ec624",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-200T-5213-7213-technical-information.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "raster-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        4.8591,
        15.286697
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        21.10109,
        66.383896
      ],
      "samplingPixelsPerInchRange": [
        1904.823521,
        3378.575818
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_vision3_250d-mtf50",
      "filmId": "kodak_vision3_250d",
      "sourceFilmId": "kodak_vision3_250d",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-envelope",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        33.379066,
        63.506313
      ],
      "sourceFile": "static/datasheets/kodak_vision3_250d.pdf",
      "sourceSha256": "70adb298a7aabb285d986b720e07c87c27eb2361f0925aea2b15903c08282e16",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-250D-5207-7207-technical-information.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "raster-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        3.850544,
        13.938227
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        16.721344,
        60.528041
      ],
      "samplingPixelsPerInchRange": [
        1695.656553,
        3226.1207
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_vision3_500t-mtf50",
      "filmId": "kodak_vision3_500t",
      "sourceFilmId": "kodak_vision3_500t",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-envelope",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        33.462129,
        61.054023
      ],
      "sourceFile": "static/datasheets/kodak_vision3_500t.pdf",
      "sourceSha256": "6d037d8090373ee50d10bedfff3df14777a575dd107c50edcafc7ec5862d0972",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-5219-7219-technical-information.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "raster-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        3.869732,
        12.882564
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        16.804669,
        55.943727
      ],
      "samplingPixelsPerInchRange": [
        1699.876153,
        3101.544368
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_ektachrome_100d-mtf50",
      "filmId": "kodak_ektachrome_100d",
      "sourceFilmId": "kodak_ektachrome_100d",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-envelope",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        26.599316,
        46.048176
      ],
      "sourceFile": "static/datasheets/kodak_ektachrome_100d.pdf",
      "sourceSha256": "3662edeefc00be8a0233df493e424452e7aea2d8cd672354808b64d46fa76dd6",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
      "page": 2,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "raster-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        2.445202,
        7.328222
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        10.618514,
        31.823481
      ],
      "samplingPixelsPerInchRange": [
        1351.245253,
        2339.247341
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_ektachrome_e100-mtf10",
      "filmId": "kodak_ektachrome_e100",
      "sourceFilmId": "kodak_ektachrome_e100",
      "criterion": "MTF10-partial-layer",
      "thresholdPercent": 10,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        74.246219,
        74.246219
      ],
      "sourceFile": "static/datasheets/kodak_ektachrome_e100.pdf",
      "sourceSha256": "d6e6fa1497c4fc16010997b1a8510d9df3b4692e34c48599c8a4338d5768fab6",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/e4000_ektachrome_100.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": false,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "visibleCurveLabels": [
        "R"
      ],
      "missingLayersReason": "Other published layer curves end above the 10% response threshold. No complete MTF10 envelope can be computed.",
      "calculatedMegapixelEquivalent35mmRange": [
        19.051204,
        19.051204
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        82.731616,
        82.731616
      ],
      "samplingPixelsPerInchRange": [
        3771.707925,
        3771.707925
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_aerocolor_iv_2460-mtf10",
      "filmId": "kodak_aerocolor_iv_2460",
      "sourceFilmId": "kodak_aerocolor_iv_2460",
      "criterion": "MTF10-partial-layer",
      "thresholdPercent": 10,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        89.390227,
        89.390227
      ],
      "sourceFile": "static/datasheets/kodak_aerocolor_iv_2460.pdf",
      "sourceSha256": "de0bbc31dcde97f53f8a736e1e5e7becf8ead15911613936410ed2d3a5287adf",
      "sourceUrl": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
      "page": 5,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": false,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "visibleCurveLabels": [
        "R"
      ],
      "missingLayersReason": "Other published layer curves end above the 10% response threshold. No complete MTF10 envelope can be computed.",
      "calculatedMegapixelEquivalent35mmRange": [
        27.615557,
        27.615557
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        119.923115,
        119.923115
      ],
      "samplingPixelsPerInchRange": [
        4541.023532,
        4541.023532
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_verita_200d-mtf10",
      "filmId": "kodak_verita_200d",
      "sourceFilmId": "kodak_verita_200d",
      "criterion": "MTF10-partial-layer",
      "thresholdPercent": 10,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        72.888202,
        72.888202
      ],
      "sourceFile": "static/datasheets/kodak_verita_200d.pdf",
      "sourceSha256": "aa5bfd899003cf4a0ae5a86a33325e0eac2ed16b9fca61c8894532de1458bae2",
      "sourceUrl": "https://www.kodak.com/content/pdfs/motion/KODAK-VERITA-200D-5206-7206-technical-information.pdf",
      "page": 3,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": false,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "visibleCurveLabels": [
        "Blue"
      ],
      "missingLayersReason": "Other published layer curves end above the 10% response threshold. No complete MTF10 envelope can be computed.",
      "calculatedMegapixelEquivalent35mmRange": [
        18.360657,
        18.360657
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        79.732851,
        79.732851
      ],
      "samplingPixelsPerInchRange": [
        3702.720662,
        3702.720662
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_superia_xtra_400-mtf50",
      "filmId": "fujicolor_superia_xtra_400",
      "sourceFilmId": "fujicolor_superia_xtra_400",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        57.675251,
        57.675251
      ],
      "sourceFile": "static/datasheets/fujicolor_superia_xtra_400.pdf",
      "sourceSha256": "7e77f9c3bd3001e40f8cafea55c73cdfda09fd1980b55b73862d6da87f6a11b2",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/af234c58ab3d3b67b41cde22b1155309/films_superia-xtra400_datasheet_01.pdf",
      "page": 6,
      "processingConditions": "CN-16; daylight",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        11.496158,
        11.496158
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        49.92313,
        49.92313
      ],
      "samplingPixelsPerInchRange": [
        2929.902751,
        2929.902751
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_pro_400h-mtf50",
      "filmId": "fujicolor_pro_400h",
      "sourceFilmId": "fujicolor_pro_400h",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        52.201624,
        52.201624
      ],
      "sourceFile": "static/datasheets/fujicolor_pro_400h.pdf",
      "sourceSha256": "9a2ca2d506cf57c7747ae5b9557d34a6102a76c009b2bb4eaedde829615205d6",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/d68b00b13f1b6234629342317be9cf2b/films_pro-400h_datasheet_01.pdf",
      "page": 8,
      "processingConditions": "C-41; daylight",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        9.417633,
        9.417633
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        40.896943,
        40.896943
      ],
      "samplingPixelsPerInchRange": [
        2651.842499,
        2651.842499
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_velvia_100-mtf50",
      "filmId": "fujichrome_velvia_100",
      "sourceFilmId": "fujichrome_velvia_100",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        45.316093,
        45.316093
      ],
      "sourceFile": "static/datasheets/fujichrome_velvia_100.pdf",
      "sourceSha256": "4c57a27b978311ca2ef819f2bf2d74c757639d27f9f0bd94e5f49c4b1c3d5902",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/0eb6f2c8057e9e186e6975edf8d493ae/films_velvia-100_datasheet_01.pdf",
      "page": 8,
      "processingConditions": "E-6/CR-56; daylight",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        7.097063,
        7.097063
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        30.819653,
        30.819653
      ],
      "samplingPixelsPerInchRange": [
        2302.057524,
        2302.057524
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_tmax_100-mtf50",
      "filmId": "kodak_tmax_100",
      "sourceFilmId": "kodak_tmax_100",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "article-supplement",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        124.173881,
        124.173881
      ],
      "sourceFile": "research/film-resolution/documents/kodak-tmax-100-sheet.pdf",
      "sourceSha256": "00518d7d1e296d6065f6e41ea3db999e5d8714679fb3d2b76d9a49eb207113be",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4016_TMax_100.pdf",
      "page": 8,
      "processingConditions": "D-76, small tank, 20 C; tungsten",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        53.288592,
        53.288592
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        231.410644,
        231.410644
      ],
      "samplingPixelsPerInchRange": [
        6308.033155,
        6308.033155
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujicolor_c200-mtf50",
      "filmId": "fujicolor_c200",
      "sourceFilmId": "fujicolor_c200",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-single-curve",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        57.817309,
        57.817309
      ],
      "sourceFile": "static/datasheets/fujicolor_c200.pdf",
      "sourceSha256": "fe9a94fb0adc8817e77156517ab8cfe60fe7ce1f6275cc223686db664d6f2629",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/cce1e1943550fc3e76c22411066f0100/films_c200_datasheet_01.pdf",
      "page": 6,
      "processingConditions": "CN-16; daylight",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        11.552859,
        11.552859
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        50.169361,
        50.169361
      ],
      "samplingPixelsPerInchRange": [
        2937.119297,
        2937.119297
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_provia_100f-mtf50",
      "filmId": "fujichrome_provia_100f",
      "sourceFilmId": "fujichrome_provia_100f",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-single-curve",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        40.31852,
        40.31852
      ],
      "sourceFile": "static/datasheets/fujichrome_provia_100f.pdf",
      "sourceSha256": "e28d54e76e8fcdf44c8ffacc930b5b8f2ea54a7cdaeedfcc91790e68eb599de8",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/4ca5dfc19ecbea6b26c635b5079d6ff3/films_provia-100f_datasheet_01.pdf",
      "page": 6,
      "processingConditions": "E-6/CR-56; daylight",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        5.618015,
        5.618015
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        24.39675,
        24.39675
      ],
      "samplingPixelsPerInchRange": [
        2048.180816,
        2048.180816
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "fujichrome_velvia_50-mtf50",
      "filmId": "fujichrome_velvia_50",
      "sourceFilmId": "fujichrome_velvia_50",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-single-curve",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        46.536947,
        46.536947
      ],
      "sourceFile": "static/datasheets/fujichrome_velvia_50.pdf",
      "sourceSha256": "668844e4cf81d5d234645c90d0b3217ed81c3be925a063b4752f7a71c3954d4c",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/3d88b84d7cbd43d8c3a32ca72d107ae4/films_velvia-50_datasheet_01.pdf",
      "page": 8,
      "processingConditions": "E-6/CR-56; daylight",
      "proxy": false,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "calculatedMegapixelEquivalent35mmRange": [
        7.484616,
        7.484616
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        32.502637,
        32.502637
      ],
      "samplingPixelsPerInchRange": [
        2364.076908,
        2364.076908
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "kodak_ektachrome_100d-mtf10",
      "filmId": "kodak_ektachrome_100d",
      "sourceFilmId": "kodak_ektachrome_100d",
      "criterion": "MTF10-partial-layer",
      "thresholdPercent": 10,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-single-layer",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        72.029923,
        72.029923
      ],
      "sourceFile": "static/datasheets/kodak_ektachrome_100d.pdf",
      "sourceSha256": "3662edeefc00be8a0233df493e424452e7aea2d8cd672354808b64d46fa76dd6",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
      "page": 2,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": false,
      "completeAcrossPublishedCurves": false,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "visibleCurveLabels": [
        "red plotted line"
      ],
      "missingLayersReason": "Other published layer curves end above the 10% response threshold. No complete MTF10 envelope can be computed.",
      "calculatedMegapixelEquivalent35mmRange": [
        17.930799,
        17.930799
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        77.866154,
        77.866154
      ],
      "samplingPixelsPerInchRange": [
        3659.120088,
        3659.120088
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "flic_elektra_100-mtf50",
      "filmId": "flic_elektra_100",
      "sourceFilmId": "kodak_aerocolor_iv_2460",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        23.554542,
        38.882875
      ],
      "sourceFile": "static/datasheets/kodak_aerocolor_iv_2460.pdf",
      "sourceSha256": "de0bbc31dcde97f53f8a736e1e5e7becf8ead15911613936410ed2d3a5287adf",
      "sourceUrl": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
      "page": 5,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": true,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "mtf-estimates.json",
      "identitySourceId": "flic-film-catalog",
      "proxyConditions": "Retail C-41 differs from the historical AN-6 aerial-film chart.",
      "calculatedMegapixelEquivalent35mmRange": [
        1.917446,
        5.22505
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        8.326685,
        22.690265
      ],
      "samplingPixelsPerInchRange": [
        1196.570734,
        1975.25005
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "flic_elektra_100-mtf10-partial-layer",
      "filmId": "flic_elektra_100",
      "sourceFilmId": "kodak_aerocolor_iv_2460",
      "criterion": "MTF10-partial-layer",
      "thresholdPercent": 10,
      "testObjectContrast": null,
      "derivation": "graph-digitized-vector",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        89.390227,
        89.390227
      ],
      "sourceFile": "static/datasheets/kodak_aerocolor_iv_2460.pdf",
      "sourceSha256": "de0bbc31dcde97f53f8a736e1e5e7becf8ead15911613936410ed2d3a5287adf",
      "sourceUrl": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
      "page": 5,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": true,
      "completeAcrossPublishedCurves": false,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "visibleCurveLabels": [
        "R"
      ],
      "missingLayersReason": "Other published layer curves end above the 10% response threshold. No complete MTF10 envelope can be computed.",
      "identitySourceId": "flic-film-catalog",
      "proxyConditions": "Retail C-41 differs from the historical AN-6 aerial-film chart.",
      "calculatedMegapixelEquivalent35mmRange": [
        27.615557,
        27.615557
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        119.923115,
        119.923115
      ],
      "samplingPixelsPerInchRange": [
        4541.023532,
        4541.023532
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "ilfochrome_100-mtf50",
      "filmId": "ilfochrome_100",
      "sourceFilmId": "kodak_ektachrome_100d",
      "criterion": "MTF50",
      "thresholdPercent": 50,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-envelope",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        26.599316,
        46.048176
      ],
      "sourceFile": "static/datasheets/kodak_ektachrome_100d.pdf",
      "sourceSha256": "3662edeefc00be8a0233df493e424452e7aea2d8cd672354808b64d46fa76dd6",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
      "page": 2,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": true,
      "completeAcrossPublishedCurves": true,
      "uncertainty": null,
      "evidenceFile": "raster-mtf-estimates.json",
      "identitySourceId": "ilfochrome-japan",
      "proxyConditions": "Japanese supplier identifies Eastman 5294; this is base-stock guidance for the retail respool.",
      "calculatedMegapixelEquivalent35mmRange": [
        2.445202,
        7.328222
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        10.618514,
        31.823481
      ],
      "samplingPixelsPerInchRange": [
        1351.245253,
        2339.247341
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    },
    {
      "id": "ilfochrome_100-mtf10-partial-layer",
      "filmId": "ilfochrome_100",
      "sourceFilmId": "kodak_ektachrome_100d",
      "criterion": "MTF10-partial-layer",
      "thresholdPercent": 10,
      "testObjectContrast": null,
      "derivation": "graph-digitized-raster-single-layer",
      "scope": "site-catalog",
      "originalUnit": "cycles/mm",
      "cyclesPerMmRange": [
        72.029923,
        72.029923
      ],
      "sourceFile": "static/datasheets/kodak_ektachrome_100d.pdf",
      "sourceSha256": "3662edeefc00be8a0233df493e424452e7aea2d8cd672354808b64d46fa76dd6",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
      "page": 2,
      "processingConditions": "Manufacturer plot conditions; see full source page.",
      "proxy": true,
      "completeAcrossPublishedCurves": false,
      "uncertainty": null,
      "evidenceFile": "additional-mtf-estimates.json",
      "visibleCurveLabels": [
        "red plotted line"
      ],
      "missingLayersReason": "Other published layer curves end above the 10% response threshold. No complete MTF10 envelope can be computed.",
      "identitySourceId": "ilfochrome-japan",
      "proxyConditions": "Japanese supplier identifies Eastman 5294; this is base-stock guidance for the retail respool.",
      "calculatedMegapixelEquivalent35mmRange": [
        17.930799,
        17.930799
      ],
      "conditionalMegapixelEquivalent56x67Range": [
        77.866154,
        77.866154
      ],
      "samplingPixelsPerInchRange": [
        3659.120088,
        3659.120088
      ],
      "frameAssumption": "36 x 24 mm for 35mm; 56 x 67 mm is a separate area scenario, not a format-availability claim."
    }
  ],
  "films": [
    {
      "filmId": "cinestill_50d",
      "name": "CineStill 50D",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "cinestill-catalog",
        "cinestill-50d",
        "cinestill-faq",
        "cinestill-resource-downloads"
      ],
      "referencePages": [
        {
          "sourceId": "cinestill-catalog",
          "title": "CineStill Color Film",
          "url": "https://cinestillfilm.com/collections/product-catalog",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "cinestill-50d",
          "title": "CineStill 50D product and processing guidance",
          "url": "https://cinestillfilm.com/products/50daylight-36exp-135-fine-grain-color-film-35mm-roll",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "cinestill-faq",
          "title": "CineStill technical FAQ",
          "url": "https://cinestillfilm.com/pages/frequently-asked-questions",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "cinestill-resource-downloads",
          "title": "CineStill manufacturer resource and technical-download index",
          "url": "https://cinestill.film/pages/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_ektar_100",
      "name": "Kodak Ektar 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "sheet"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_ektar_100",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_ektar_100-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-ektar-100-sheet",
        "kodak-current-color"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ektar-100-sheet",
          "title": "EKTAR 100 technical data E-4046",
          "url": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4046.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-current-color",
          "title": "KODAK Professional color film catalog",
          "url": "https://www.kodakprofessional.com/photographers/film/color",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "film_onehundred_100",
      "name": "Film Onehundred 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "parvec-part-1",
        "hundred-film-product",
        "hundred-film-home"
      ],
      "referencePages": [
        {
          "sourceId": "hundred-film-product",
          "title": "1Hundred Film product specifications and shooting guidance",
          "url": "https://hundred.film/onehundredfilm",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        },
        {
          "sourceId": "hundred-film-home",
          "title": "Hundred Film respooling and product FAQ",
          "url": "https://hundred.film/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_pro_image_100",
      "name": "Kodak Pro Image 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "kodak_pro_image_100",
      "documentationStatus": "historical-manufacturer-sheet",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-proimage-archive"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-proimage-archive",
          "title": "KODAK PROFESSIONAL PRO IMAGE 100 Film Technical Data (historical mirror)",
          "url": "https://analogfilm.space/assets/kodak-proimage-100.n3IH3y40.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_portra_160",
      "name": "Kodak Portra 160",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "sheet"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_portra_160",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_portra_160-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-portra-160-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-portra-160-sheet",
          "title": "PORTRA 160 technical data E-4051",
          "url": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4051.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_colorplus_200",
      "name": "Kodak ColorPlus 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-film-resource-index"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-film-resource-index",
          "title": "Kodak Alaris professional film technical-publication index",
          "url": "https://www.kodakprofessional.com/photographers/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_gold_200",
      "name": "Kodak Gold 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "kodak_gold_200",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-gold-200-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-gold-200-sheet",
          "title": "GOLD 200 technical data E-7022",
          "url": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/E7022_Gold_200.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "fujifilm_200",
      "name": "Fujifilm 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujifilm_200",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujifilm_200-target-1000-1"
      ],
      "checkedSourceIds": [
        "fujifilm-200",
        "fujifilm-200-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fujifilm-200",
          "title": "FUJIFILM 200 Specifications",
          "url": "https://www.fujifilm.com/us/en/consumer/films/consumer-film/fujifilm-200/specifications",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "fujifilm-200-sheet",
          "title": "FUJIFILM 200 Data Sheet",
          "url": "https://asset.fujifilm.com/master/americas/files/2022-02/112b0a02e409bdf6b5429648695770a4/fujifilm-200-speed-film_data-sheet.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "harman_phoenix_200",
      "name": "Harman Phoenix 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "harman_phoenix_200",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "parvec-part-1",
        "harman-phoenix-ii",
        "harman-phoenix-original",
        "harman-scanning"
      ],
      "referencePages": [
        {
          "sourceId": "harman-phoenix-ii",
          "title": "HARMAN PHOTO launches Phoenix II",
          "url": "https://www.harmantechnology.com/the-journey-continues-harman-photo-launches-harman-phoenix-ii/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "harman-phoenix-original",
          "title": "Original PHOENIX 200 technical data",
          "url": "https://www.harmanphoto.co.uk/amfile/file/download/file/1963/product/2143/?___from_store=harman_photo_uk&___store=harman_photo_brochure",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "harman-scanning",
          "title": "HARMAN color-film scanning guidance",
          "url": "https://www.harmanphoto.co.uk/scanning-tips/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_portra_400",
      "name": "Kodak Portra 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "sheet"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_portra_400",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_portra_400-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-portra-400-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-portra-400-sheet",
          "title": "PORTRA 400 technical data E-4050",
          "url": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4050.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_ultramax_400",
      "name": "Kodak UltraMax 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "kodak_ultramax_400",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-professional-catalog",
        "kodak-ultramax-400-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-professional-catalog",
          "title": "KODAK Professional Film Catalog",
          "url": "https://www.kodakprofessional.com/photographers/film",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ultramax-400-sheet",
          "title": "ULTRAMAX 400 technical data E-7023",
          "url": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/E7023_max_400.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomography_color_400",
      "name": "Lomography Color Negative 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "lomography_color_400",
      "documentationStatus": "product-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "lomography-color-negative"
      ],
      "referencePages": [
        {
          "sourceId": "lomography-color-negative",
          "title": "Lomography Color Negative 400 Film Guide",
          "url": "https://cdn.downloads.lomography.com/downloads/color-negative-400-film-guide.pdf",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomochrome_color_92",
      "name": "LomoChrome Color \u201992",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "110"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "lomography-lomochrome",
        "lomography-download-index",
        "lomochrome-92-official-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomography-lomochrome",
          "title": "LomoChrome Films",
          "url": "https://shop.lomography.com/us/film/lomochrome-film?film_size=5443",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomography-download-index",
          "title": "Lomography official downloadable manuals and film guides",
          "url": "https://cdn.downloads.lomography.com/downloads/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        },
        {
          "sourceId": "lomochrome-92-official-guide",
          "title": "Lomography guide to original Color 92 and Sun-kissed film",
          "url": "https://www.lomography.com/magazine/355137-guide-to-lomography-s-color-shifting-film-stocks-lomochrome-color-92",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "candido_800t",
      "name": "Candido 800T",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "candido_800_reserve_c41",
      "documentationStatus": "family-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "parvec-part-1",
        "candido-faq",
        "candido-800-reserve-product",
        "candido-800-reserve-c41-sheet",
        "candido-800-reserve-ecn2-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "candido-faq",
          "title": "Candido manufacturing and processing FAQ",
          "url": "https://www.candidocollective.com/frequently-asked-questions",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        },
        {
          "sourceId": "candido-800-reserve-product",
          "title": "Candido 800 Reserve product and technical-sheet download hub",
          "url": "https://www.candidocollective.com/products/candido-800-reserve-colour-film",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        },
        {
          "sourceId": "candido-800-reserve-c41-sheet",
          "title": "Candido 800 Reserve \u2014 C-41 Technical Data Sheet (current version reference)",
          "url": "https://www.candidocollective.com/s/Candido-800-Reserve-C-41-Technical-Data-Sheet.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        },
        {
          "sourceId": "candido-800-reserve-ecn2-sheet",
          "title": "Candido 800 Reserve \u2014 ECN-2 Technical Data Sheet (current version reference)",
          "url": "https://www.candidocollective.com/s/Candido-800-Reserve-ECN-2-Technical-Data-Sheet.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_portra_800",
      "name": "Kodak Portra 800",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_portra_800",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_portra_800-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-portra-800"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-portra-800",
          "title": "KODAK PROFESSIONAL PORTRA 800 Film",
          "url": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4040.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "cinestill_400d",
      "name": "CineStill 400Dynamic",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "4\u00d75"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "cinestill-400d",
        "cinestill-resource-downloads"
      ],
      "referencePages": [
        {
          "sourceId": "cinestill-400d",
          "title": "400Dynamic Versatile Color Negative Film",
          "url": "https://cinestillfilm.com/collections/the-400d-film-family/products/400dynamic-35mm",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "cinestill-resource-downloads",
          "title": "CineStill manufacturer resource and technical-download index",
          "url": "https://cinestill.film/pages/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "fujifilm_400",
      "name": "Fujifilm 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujifilm_400",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujifilm_400-target-1000-1"
      ],
      "checkedSourceIds": [
        "fujifilm-400",
        "fuji-400-linked-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fujifilm-400",
          "title": "FUJIFILM 400 Specifications",
          "url": "https://www.fujifilm.com/us/en/consumer/films/consumer-film/fujifilm-400/specifications",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "fuji-400-linked-sheet",
          "title": "FUJIFILM 400 Color Negative Film Data Sheet",
          "url": "https://www.ishootfujifilm.com/uploads/SUPERIA%20400%20Data%20Sheet.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "harman_phoenix_ii_200",
      "name": "Harman Phoenix II 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "harman_phoenix_ii_200",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "harman-phoenix-ii",
        "harman-phoenix-ii-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "harman-phoenix-ii",
          "title": "HARMAN PHOTO launches Phoenix II",
          "url": "https://www.harmantechnology.com/the-journey-continues-harman-photo-launches-harman-phoenix-ii/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "harman-phoenix-ii-sheet",
          "title": "HARMAN Phoenix II Data Sheet",
          "url": "https://www.harmanphoto.co.uk/amfile/file/download/file/1968/product/2208/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "harman_red_125",
      "name": "Harman Red 125",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "harman_red_125",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "harman-red-125",
        "harman-red-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "harman-red-125",
          "title": "HARMAN Red 125",
          "url": "https://www.harmanphoto.co.uk/harman-red-125-35mm",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "harman-red-sheet",
          "title": "RED 125 technical data",
          "url": "https://www.harmanphoto.co.uk/amfile/file/download/file/1965/product/2170/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "harman_switch_azure_125",
      "name": "Harman Switch Azure 125",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "harman_switch_azure_125",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "harman-switch-azure",
        "harman-azure-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "harman-switch-azure",
          "title": "HARMAN Switch Azure",
          "url": "https://www.harmanphoto.co.uk/harman-switch-azure-35mm",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "harman-azure-sheet",
          "title": "SWITCH AZURE 125 technical data",
          "url": "https://www.harmanphoto.co.uk/amfile/file/download/file/1969/product/2229/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_ektachrome_e100",
      "name": "Kodak Ektachrome E100",
      "process": "E-6",
      "catalogFormats": [
        "35mm",
        "120",
        "sheet"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_ektachrome_e100",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_ektachrome_e100-mtf50",
        "kodak_ektachrome_e100-mtf10"
      ],
      "checkedSourceIds": [
        "kodak-ektachrome-e100"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-ektachrome-e100",
          "title": "KODAK PROFESSIONAL EKTACHROME Film E100",
          "url": "https://www.kodakprofessional.com/photographers/film/color/filme-kodak-professional-ektachrome-e100/531",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "fujichrome_provia_100f",
      "name": "Fujichrome Provia 100F",
      "process": "E-6",
      "catalogFormats": [
        "35mm",
        "120",
        "sheet"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujichrome_provia_100f",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujichrome_provia_100f-target-1.6-1",
        "fujichrome_provia_100f-target-1000-1",
        "fujichrome_provia_100f-mtf50"
      ],
      "checkedSourceIds": [
        "fujifilm-reversal",
        "fuji-provia-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fujifilm-reversal",
          "title": "FUJICHROME Provia 100F",
          "url": "https://www.fujifilm.com/us/en/business/professional-photography/film/provia-100f",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "fuji-provia-sheet",
          "title": "PROVIA 100F data sheet",
          "url": "https://asset.fujifilm.com/www/pl/files/2019-09/4ca5dfc19ecbea6b26c635b5079d6ff3/films_provia-100f_datasheet_01.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "fujichrome_velvia_50",
      "name": "Fujichrome Velvia 50",
      "process": "E-6",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujichrome_velvia_50",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujichrome_velvia_50-target-1.6-1",
        "fujichrome_velvia_50-target-1000-1",
        "fujichrome_velvia_50-mtf50"
      ],
      "checkedSourceIds": [
        "fujifilm-velvia-50",
        "fuji-velvia50-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fujifilm-velvia-50",
          "title": "FUJICHROME Velvia 50 Specifications",
          "url": "https://www.fujifilm.com/us/en/business/professional-photography/film/velvia-50/specifications",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "fuji-velvia50-sheet",
          "title": "VELVIA 50 data sheet",
          "url": "https://asset.fujifilm.com/www/pl/files/2019-09/3d88b84d7cbd43d8c3a32ca72d107ae4/films_velvia-50_datasheet_01.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "fujichrome_velvia_100",
      "name": "Fujichrome Velvia 100",
      "process": "E-6",
      "catalogFormats": [
        "35mm",
        "120",
        "sheet"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujichrome_velvia_100",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujichrome_velvia_100-target-1.6-1",
        "fujichrome_velvia_100-target-1000-1",
        "fujichrome_velvia_100-mtf50"
      ],
      "checkedSourceIds": [
        "fujifilm-velvia-100",
        "fuji-velvia100-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fujifilm-velvia-100",
          "title": "FUJICHROME Velvia 100 Specifications and US lifecycle notice",
          "url": "https://www.fujifilm.com/us/en/business/professional-photography/film/velvia-100",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "fuji-velvia100-sheet",
          "title": "VELVIA 100 data sheet",
          "url": "https://asset.fujifilm.com/www/pl/files/2019-09/0eb6f2c8057e9e186e6975edf8d493ae/films_velvia-100_datasheet_01.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "lomography_color_100",
      "name": "Lomography Color Negative 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "lomography_color_100",
      "documentationStatus": "product-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "lomo-color-100",
        "lomo-color-100-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomo-color-100",
          "title": "Lomography Color Negative 100",
          "url": "https://shop.lomography.com/us/lomography-color-negative-35-mm-iso-100",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomo-color-100-guide",
          "title": "Lomography Color Negative 100 Film Guide",
          "url": "https://cdn.downloads.lomography.com/downloads/color-negative-100-film-guide.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomography_color_800",
      "name": "Lomography Color Negative 800",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "lomography_color_800",
      "documentationStatus": "product-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "lomo-color-800",
        "lomo-color-800-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomo-color-800",
          "title": "Lomography Color Negative 800",
          "url": "https://shop.lomography.com/us/lomography-color-negative-35-mm-iso-800",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomo-color-800-guide",
          "title": "Lomography Color Negative 800 Film Guide",
          "url": "https://cdn.downloads.lomography.com/downloads/color-negative-800-film-guide.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomochrome_classicolor_200",
      "name": "LomoChrome Classicolor 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "110"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "lomography-lomochrome",
        "lomo-classicolor",
        "lomography-download-index"
      ],
      "referencePages": [
        {
          "sourceId": "lomography-lomochrome",
          "title": "LomoChrome Films",
          "url": "https://shop.lomography.com/us/film/lomochrome-film?film_size=5443",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomo-classicolor",
          "title": "LomoChrome Classicolor 200",
          "url": "https://shop.lomography.com/us/lomochrome-classicolor-35-mm-iso-200",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomography-download-index",
          "title": "Lomography official downloadable manuals and film guides",
          "url": "https://cdn.downloads.lomography.com/downloads/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomochrome_metropolis",
      "name": "LomoChrome Metropolis",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "110"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "lomochrome_metropolis",
      "documentationStatus": "product-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "lomography-lomochrome",
        "lomo-metropolis-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomography-lomochrome",
          "title": "LomoChrome Films",
          "url": "https://shop.lomography.com/us/film/lomochrome-film?film_size=5443",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomo-metropolis-guide",
          "title": "LomoChrome Metropolis Film Guide",
          "url": "https://cdn.downloads.lomography.com/downloads/lomochrome-metropolis-film-guide.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomochrome_purple",
      "name": "LomoChrome Purple P\u00e9tillant",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "110"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "lomochrome_purple",
      "documentationStatus": "family-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "lomography-lomochrome",
        "lomo-purple-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomography-lomochrome",
          "title": "LomoChrome Films",
          "url": "https://shop.lomography.com/us/film/lomochrome-film?film_size=5443",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomo-purple-guide",
          "title": "LomoChrome Purple Film Guide (family reference)",
          "url": "https://cdn.downloads.lomography.com/downloads/lomochrome-purple-film-guide.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "lomochrome_turquoise",
      "name": "LomoChrome Turquoise",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "110"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "lomochrome_turquoise",
      "documentationStatus": "product-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "lomography-lomochrome",
        "lomo-turquoise-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomography-lomochrome",
          "title": "LomoChrome Films",
          "url": "https://shop.lomography.com/us/film/lomochrome-film?film_size=5443",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomo-turquoise-guide",
          "title": "LomoChrome Turquoise Film Guide",
          "url": "https://cdn.downloads.lomography.com/downloads/turquoise-film-guide.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "wolfen_nc400",
      "name": "WOLFEN NC400",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "wolfen_nc400",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "wolfen-nc400"
      ],
      "referencePages": [
        {
          "sourceId": "wolfen-nc400",
          "title": "WOLFEN NC400 Datasheet",
          "url": "https://filmotec.de/wp-content/uploads/2023/08/Datenblatt-Wolfen-NC400.pdf",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "wolfen_nc500",
      "name": "WOLFEN NC500",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "wolfen_nc500",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "wolfen-nc500"
      ],
      "referencePages": [
        {
          "sourceId": "wolfen-nc500",
          "title": "WOLFEN NC500",
          "url": "https://filmotec.de/wp-content/uploads/2023/04/Datenblatt-Wolfen-NC500.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "adox_color_mission_200",
      "name": "ADOX Color Mission 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "adox-color-mission",
        "adox-color-mission-fotoimpex"
      ],
      "referencePages": [
        {
          "sourceId": "adox-color-mission",
          "title": "ADOX COLOR MISSION",
          "url": "https://www.adox.de/adox-color-mission/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "adox-color-mission-fotoimpex",
          "title": "ADOX Color Mission 200 \u2014 manufacturer-designated Fotoimpex product page",
          "url": "https://www.fotoimpex.de/shop/filme/adox-color-mission-200.html",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "ilfocolor_vintage_400_plus",
      "name": "ILFOCOLOR Vintage Tone 400 Plus",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "ilfocolor_vintage_400_plus",
      "documentationStatus": "technical-data",
      "inputIds": [],
      "checkedSourceIds": [
        "ilfocolor-catalog",
        "ilfocolor-vintage-japan",
        "ilfocolor-vintage-global",
        "ilfocolor-vintage-v2-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "ilfocolor-catalog",
          "title": "ILFOCOLOR Film",
          "url": "https://ilfocolor.com/ilfocolor-film/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": "HTTP Error 403: Forbidden"
        },
        {
          "sourceId": "ilfocolor-vintage-japan",
          "title": "ILFORD Japan Vintage Tone 400 Plus",
          "url": "https://ilford.co.jp/photo/product/vintagetoneplus/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        },
        {
          "sourceId": "ilfocolor-vintage-global",
          "title": "ILFOCOLOR Vintage Tone 400 Plus global product and technical download",
          "url": "https://ilfocolor.com/products/ilford-ilfocolor-vintage-tone-400-plus-36-exp/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        },
        {
          "sourceId": "ilfocolor-vintage-v2-sheet",
          "title": "ILFORD ILFOCOLOR Vintage Tone 400+ Technical Data Sheet (V2)",
          "url": "https://ilfocolor.com/wp-content/uploads/2024/09/datasheet_ILFORD_VintageTone400_V2.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "browser-download"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "ilfocolor_vivid_400",
      "name": "ILFOCOLOR Vivid 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "ilfocolor-catalog",
        "ilfocolor-vivid-japan",
        "ilfocolor-vivid-release"
      ],
      "referencePages": [
        {
          "sourceId": "ilfocolor-catalog",
          "title": "ILFOCOLOR Film",
          "url": "https://ilfocolor.com/ilfocolor-film/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": "HTTP Error 403: Forbidden"
        },
        {
          "sourceId": "ilfocolor-vivid-japan",
          "title": "ILFORD Japan Vivid 400 product specification",
          "url": "https://ilford.co.jp/photo/product/vivid400/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        },
        {
          "sourceId": "ilfocolor-vivid-release",
          "title": "ILFORD Japan ILFOCOLOR Vivid 400 launch announcement",
          "url": "https://ilford.co.jp/photo/post-1930/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "ilfochrome_100",
      "name": "ILFOCHROME 100",
      "process": "E-6",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "ready-base-stock-proxy",
      "documentId": "kodak_ektachrome_100d",
      "documentationStatus": "underlying-stock-reference",
      "inputIds": [
        "ilfochrome_100-mtf50",
        "ilfochrome_100-mtf10-partial-layer"
      ],
      "checkedSourceIds": [
        "ilfochrome-100",
        "ilfochrome-japan",
        "kodak-ektachrome-100d-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "ilfochrome-100",
          "title": "ILFOCHROME Color Reversal Film 36 EXP",
          "url": "https://ilfocolor.com/product/ilfochrome-color-reversal-film-36-exp/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": "HTTP Error 403: Forbidden"
        },
        {
          "sourceId": "ilfochrome-japan",
          "title": "ILFORD Japan ILFOCHROME 100 / Eastman 5294",
          "url": "https://ilford.co.jp/photo/product/ilfochrome100/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ektachrome-100d-sheet",
          "title": "KODAK EKTACHROME 100D 5294/7294 Technical Information",
          "url": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_vision3_50d",
      "name": "Kodak VISION3 50D",
      "process": "ECN-2",
      "catalogFormats": [
        "35mm bulk",
        "16mm",
        "65mm"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_vision3_50d",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_vision3_50d-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-vision3",
        "kodak-ahu-notice",
        "kodak-vision3-50d-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-vision3",
          "title": "KODAK Motion Picture Camera Films",
          "url": "https://www.kodak.com/en/motion/products/camera-films/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ahu-notice",
          "title": "VISION3 anti-halation-undercoat product change notice",
          "url": "https://www.kodak.com/content/pdfs/motion/PCN082225-AHU-Cat-Number-Changes-WW.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-vision3-50d-sheet",
          "title": "KODAK VISION3 50D 5203/7203 Technical Information",
          "url": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-50D-5203-7203-technical-information.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_vision3_200t",
      "name": "Kodak VISION3 200T",
      "process": "ECN-2",
      "catalogFormats": [
        "35mm bulk",
        "16mm",
        "65mm"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_vision3_200t",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_vision3_200t-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-vision3",
        "kodak-ahu-notice",
        "kodak-vision3-200t-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-vision3",
          "title": "KODAK Motion Picture Camera Films",
          "url": "https://www.kodak.com/en/motion/products/camera-films/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ahu-notice",
          "title": "VISION3 anti-halation-undercoat product change notice",
          "url": "https://www.kodak.com/content/pdfs/motion/PCN082225-AHU-Cat-Number-Changes-WW.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-vision3-200t-sheet",
          "title": "KODAK VISION3 200T 5213/7213 Technical Information",
          "url": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-200T-5213-7213-technical-information.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_vision3_250d",
      "name": "Kodak VISION3 250D",
      "process": "ECN-2",
      "catalogFormats": [
        "35mm bulk",
        "16mm",
        "65mm"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_vision3_250d",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_vision3_250d-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-vision3",
        "kodak-ahu-notice",
        "kodak-vision3-250d-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-vision3",
          "title": "KODAK Motion Picture Camera Films",
          "url": "https://www.kodak.com/en/motion/products/camera-films/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ahu-notice",
          "title": "VISION3 anti-halation-undercoat product change notice",
          "url": "https://www.kodak.com/content/pdfs/motion/PCN082225-AHU-Cat-Number-Changes-WW.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-vision3-250d-sheet",
          "title": "KODAK VISION3 250D 5207/7207 Technical Information",
          "url": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-250D-5207-7207-technical-information.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_vision3_500t",
      "name": "Kodak VISION3 500T",
      "process": "ECN-2",
      "catalogFormats": [
        "35mm bulk",
        "16mm",
        "65mm"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_vision3_500t",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_vision3_500t-mtf50"
      ],
      "checkedSourceIds": [
        "kodak-vision3",
        "kodak-ahu-notice",
        "kodak-vision3-500t-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-vision3",
          "title": "KODAK Motion Picture Camera Films",
          "url": "https://www.kodak.com/en/motion/products/camera-films/",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ahu-notice",
          "title": "VISION3 anti-halation-undercoat product change notice",
          "url": "https://www.kodak.com/content/pdfs/motion/PCN082225-AHU-Cat-Number-Changes-WW.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-vision3-500t-sheet",
          "title": "KODAK VISION3 500T 5219/7219 Technical Information",
          "url": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-5219-7219-technical-information.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_aerocolor_iv_2460",
      "name": "Kodak AEROCOLOR IV 2460",
      "process": "C-41 / lab dependent",
      "catalogFormats": [
        "aerial bulk roll"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_aerocolor_iv_2460",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_aerocolor_iv_2460-mtf50",
        "kodak_aerocolor_iv_2460-mtf10"
      ],
      "checkedSourceIds": [
        "kodak-aerocolor-iv"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-aerocolor-iv",
          "title": "KODAK AEROCOLOR IV Negative Film 2460",
          "url": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "cinestill_800t",
      "name": "CineStill 800T",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "cinestill-800t",
        "cinestill-faq",
        "cinestill-resource-downloads"
      ],
      "referencePages": [
        {
          "sourceId": "cinestill-800t",
          "title": "CineStill 800T product family",
          "url": "https://cinestillfilm.com/collections/800t-filmfamily",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "cinestill-faq",
          "title": "CineStill technical FAQ",
          "url": "https://cinestillfilm.com/pages/frequently-asked-questions",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "cinestill-resource-downloads",
          "title": "CineStill manufacturer resource and technical-download index",
          "url": "https://cinestill.film/pages/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_ektacolor_pro_160",
      "name": "Kodak EKTACOLOR PRO 160",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "4x5",
        "8x10"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-ektacolor-160",
        "kodak-film-resource-index"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-ektacolor-160",
          "title": "EKTACOLOR PRO 160",
          "url": "https://www.kodak.com/en/still-film/product/professional/ektacolor/ektacolor-pro-160-film/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-film-resource-index",
          "title": "Kodak Alaris professional film technical-publication index",
          "url": "https://www.kodakprofessional.com/photographers/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_ektacolor_pro_400",
      "name": "Kodak EKTACOLOR PRO 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "4x5",
        "8x10"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-ektacolor-400",
        "kodak-film-resource-index"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-ektacolor-400",
          "title": "EKTACOLOR PRO 400",
          "url": "https://www.kodak.com/en/still-film/product/professional/ektacolor/ektacolor-pro-400-film/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-film-resource-index",
          "title": "Kodak Alaris professional film technical-publication index",
          "url": "https://www.kodakprofessional.com/photographers/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_ektacolor_pro_800",
      "name": "Kodak EKTACOLOR PRO 800",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-ektacolor-800",
        "kodak-film-resource-index"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-ektacolor-800",
          "title": "EKTACOLOR PRO 800",
          "url": "https://www.kodak.com/en/still-film/product/professional/ektacolor/ektacolor-pro-800-film/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-film-resource-index",
          "title": "Kodak Alaris professional film technical-publication index",
          "url": "https://www.kodakprofessional.com/photographers/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_kodacolor_100",
      "name": "Kodak KODACOLOR 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-kodacolor-100",
        "kodak-film-resource-index"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-kodacolor-100",
          "title": "KODACOLOR 100",
          "url": "https://www.kodak.com/en/still-film/product/consumer/kodacolor-100-film/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-film-resource-index",
          "title": "Kodak Alaris professional film technical-publication index",
          "url": "https://www.kodakprofessional.com/photographers/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_kodacolor_200",
      "name": "Kodak KODACOLOR 200",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "kodak-kodacolor-200",
        "kodak-film-resource-index"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-kodacolor-200",
          "title": "KODACOLOR 200",
          "url": "https://www.kodak.com/en/still-film/product/consumer/kodacolor-200-film/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-film-resource-index",
          "title": "Kodak Alaris professional film technical-publication index",
          "url": "https://www.kodakprofessional.com/photographers/resources",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "kodak_verita_200d",
      "name": "Kodak VERITA 200D 5206/7206",
      "process": "ECN-2",
      "catalogFormats": [
        "16mm",
        "35mm bulk",
        "65mm"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_verita_200d",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_verita_200d-mtf50",
        "kodak_verita_200d-mtf10"
      ],
      "checkedSourceIds": [
        "kodak-verita-200d"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-verita-200d",
          "title": "VERITA 200D 5206/7206 technical information",
          "url": "https://www.kodak.com/content/pdfs/motion/KODAK-VERITA-200D-5206-7206-technical-information.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "kodak_ektachrome_100d",
      "name": "Kodak EKTACHROME 100D 5294/7294",
      "process": "E-6",
      "catalogFormats": [
        "35mm bulk",
        "16mm",
        "Super 8"
      ],
      "calculationStatus": "ready-MTF50",
      "documentId": "kodak_ektachrome_100d",
      "documentationStatus": "technical-data",
      "inputIds": [
        "kodak_ektachrome_100d-mtf50",
        "kodak_ektachrome_100d-mtf10"
      ],
      "checkedSourceIds": [
        "kodak-ektachrome-100d",
        "kodak-ektachrome-100d-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "kodak-ektachrome-100d",
          "title": "EKTACHROME 100D motion-picture film",
          "url": "https://www.kodak.com/en/motion/product/camera-films/ektachrome/",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "kodak-ektachrome-100d-sheet",
          "title": "KODAK EKTACHROME 100D 5294/7294 Technical Information",
          "url": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "fujicolor_c200",
      "name": "Fujicolor C200 (historical)",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujicolor_c200",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujicolor_c200-target-1.6-1",
        "fujicolor_c200-target-1000-1",
        "fujicolor_c200-mtf50"
      ],
      "checkedSourceIds": [
        "fuji-c200-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fuji-c200-sheet",
          "title": "FUJICOLOR C200 data sheet",
          "url": "https://asset.fujifilm.com/www/pl/files/2019-09/cce1e1943550fc3e76c22411066f0100/films_c200_datasheet_01.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "fujicolor_superia_xtra_400",
      "name": "Fujicolor Superia X-TRA 400 (historical)",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujicolor_superia_xtra_400",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujicolor_superia_xtra_400-target-1.6-1",
        "fujicolor_superia_xtra_400-target-1000-1",
        "fujicolor_superia_xtra_400-mtf50"
      ],
      "checkedSourceIds": [
        "fuji-superia-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fuji-superia-sheet",
          "title": "SUPERIA X-TRA 400 data sheet",
          "url": "https://asset.fujifilm.com/www/pl/files/2019-09/af234c58ab3d3b67b41cde22b1155309/films_superia-xtra400_datasheet_01.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "fujicolor_pro_400h",
      "name": "Fujicolor PRO 400H (historical)",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120"
      ],
      "calculationStatus": "ready-published-resolving-power",
      "documentId": "fujicolor_pro_400h",
      "documentationStatus": "technical-data",
      "inputIds": [
        "fujicolor_pro_400h-target-1.6-1",
        "fujicolor_pro_400h-target-1000-1",
        "fujicolor_pro_400h-mtf50"
      ],
      "checkedSourceIds": [
        "fuji-pro400h-sheet"
      ],
      "referencePages": [
        {
          "sourceId": "fuji-pro400h-sheet",
          "title": "FUJICOLOR PRO 400H data sheet",
          "url": "https://asset.fujifilm.com/www/pl/files/2019-09/d68b00b13f1b6234629342317be9cf2b/films_pro-400h_datasheet_01.pdf",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "lomochrome_color_92_sunkissed",
      "name": "LomoChrome Color '92 Sun-kissed",
      "process": "C-41",
      "catalogFormats": [
        "35mm",
        "120",
        "110"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "lomo-sunkissed",
        "lomography-download-index",
        "lomochrome-92-official-guide"
      ],
      "referencePages": [
        {
          "sourceId": "lomo-sunkissed",
          "title": "LomoChrome Color '92 Sun-kissed 400",
          "url": "https://shop.lomography.com/us/lomochrome-color-92-sun-kissed-35-mm-iso-400",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "lomography-download-index",
          "title": "Lomography official downloadable manuals and film guides",
          "url": "https://cdn.downloads.lomography.com/downloads/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        },
        {
          "sourceId": "lomochrome-92-official-guide",
          "title": "Lomography guide to original Color 92 and Sun-kissed film",
          "url": "https://www.lomography.com/magazine/355137-guide-to-lomography-s-color-shifting-film-stocks-lomochrome-color-92",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "flic_chrome_100",
      "name": "Flic Film Chrome 100",
      "process": "E-6",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "flic-film-catalog",
        "flic-home-download-research"
      ],
      "referencePages": [
        {
          "sourceId": "flic-film-catalog",
          "title": "Flic Film film and paper catalog",
          "url": "https://flicfilm.ca/film-paper/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": "HTTP Error 404: Not Found"
        },
        {
          "sourceId": "flic-home-download-research",
          "title": "Flic Film manufacturer homepage and current film references",
          "url": "https://flicfilm.ca/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "flic_elektra_100",
      "name": "Flic Film Elektra 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "ready-base-stock-proxy",
      "documentId": "kodak_aerocolor_iv_2460",
      "documentationStatus": "underlying-stock-reference",
      "inputIds": [
        "flic_elektra_100-mtf50",
        "flic_elektra_100-mtf10-partial-layer"
      ],
      "checkedSourceIds": [
        "flic-film-catalog",
        "kodak-aerocolor-iv"
      ],
      "referencePages": [
        {
          "sourceId": "flic-film-catalog",
          "title": "Flic Film film and paper catalog",
          "url": "https://flicfilm.ca/film-paper/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": "HTTP Error 404: Not Found"
        },
        {
          "sourceId": "kodak-aerocolor-iv",
          "title": "KODAK AEROCOLOR IV Negative Film 2460",
          "url": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
          "lastAccessedInCatalog": "2026-08-13",
          "fetchStatus": 200
        }
      ],
      "remainingInputNeeded": null
    },
    {
      "filmId": "flic_aurora_400",
      "name": "Flic Film Aurora 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "flic-film-catalog",
        "flic-home-download-research"
      ],
      "referencePages": [
        {
          "sourceId": "flic-film-catalog",
          "title": "Flic Film film and paper catalog",
          "url": "https://flicfilm.ca/film-paper/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": "HTTP Error 404: Not Found"
        },
        {
          "sourceId": "flic-home-download-research",
          "title": "Flic Film manufacturer homepage and current film references",
          "url": "https://flicfilm.ca/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "flic_apollo_18",
      "name": "Flic Film Apollo 18",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "flic-film-catalog",
        "flic-home-download-research"
      ],
      "referencePages": [
        {
          "sourceId": "flic-film-catalog",
          "title": "Flic Film film and paper catalog",
          "url": "https://flicfilm.ca/film-paper/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": "HTTP Error 404: Not Found"
        },
        {
          "sourceId": "flic-home-download-research",
          "title": "Flic Film manufacturer homepage and current film references",
          "url": "https://flicfilm.ca/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "flic_psychedelic_400",
      "name": "Flic Film Psychedelic 400",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "flic-film-catalog",
        "flic-home-download-research"
      ],
      "referencePages": [
        {
          "sourceId": "flic-film-catalog",
          "title": "Flic Film film and paper catalog",
          "url": "https://flicfilm.ca/film-paper/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": "HTTP Error 404: Not Found"
        },
        {
          "sourceId": "flic-home-download-research",
          "title": "Flic Film manufacturer homepage and current film references",
          "url": "https://flicfilm.ca/",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "santacolor_100",
      "name": "SantaColor 100",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "PDF-lacks-spatial-resolution-input",
      "documentId": "santacolor_100_distributor_guide",
      "documentationStatus": "product-guide",
      "inputIds": [],
      "checkedSourceIds": [
        "santacolor-100",
        "santacolor-polyphoto-guide"
      ],
      "referencePages": [
        {
          "sourceId": "santacolor-100",
          "title": "SantaColor 100 product and scanning information",
          "url": "https://santa1000.com/santacolor-100",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "santacolor-polyphoto-guide",
          "title": "SantaColor 100 Professional \u2014 Polyphoto distributor specification guide",
          "url": "https://fotospina.com/wp-content/uploads/2023/07/SantaFilm_SchedaTecnica.pdf",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    },
    {
      "filmId": "reto_amber_t640_ahu",
      "name": "RETO AMBER T640 AHU",
      "process": "C-41",
      "catalogFormats": [
        "35mm"
      ],
      "calculationStatus": "matching-PDF-not-available",
      "documentId": null,
      "documentationStatus": "not-located",
      "inputIds": [],
      "checkedSourceIds": [
        "reto-amber-640t",
        "reto-support-index"
      ],
      "referencePages": [
        {
          "sourceId": "reto-amber-640t",
          "title": "RETO AMBER T640 AHU",
          "url": "https://retoproject.com/products/amber-640t-ahu-film-35mm-27exp",
          "lastAccessedInCatalog": "2026-09-15",
          "fetchStatus": 200
        },
        {
          "sourceId": "reto-support-index",
          "title": "RETO Project help and support index",
          "url": "https://retoproject.com/pages/faq",
          "lastAccessedInCatalog": "2026-10-02",
          "fetchStatus": 200,
          "retrievalMethod": "public-source-review"
        }
      ],
      "remainingInputNeeded": "A numeric resolving-power value with units/test contrast, or an MTF curve with calibrated cycles/mm and response axes."
    }
  ],
  "documentAssessments": [
    {
      "id": "adox-cms20-current-sheet",
      "repositoryPath": "research/film-resolution/documents/adox-cms20-current-sheet.pdf",
      "title": "ADOX CMS 20 II PRO / ADOTECH IV Technical Data",
      "sourceUrl": "https://www.fotoimpex.de/shop/images/products/media/30945_5_PDF-Datasheet.pdf",
      "sha256": "061d6112e9ab64b40724e772284764f67c52ab46e2a7b4dcad661fa2325a8a95",
      "pageCount": 6,
      "catalogFilmIds": [],
      "purpose": "research-supplement",
      "calculationCapability": "published-resolving-power",
      "resolvingPowerPages": [
        2
      ],
      "MTFPages": [],
      "reviewNotes": "Direct resolving-power figure supplies R; retain the dedicated development/test condition."
    },
    {
      "id": "kodak-tmax-100-sheet",
      "repositoryPath": "research/film-resolution/documents/kodak-tmax-100-sheet.pdf",
      "title": "Kodak T-MAX 100 Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4016_TMax_100.pdf",
      "sha256": "00518d7d1e296d6065f6e41ea3db999e5d8714679fb3d2b76d9a49eb207113be",
      "pageCount": 9,
      "catalogFilmIds": [],
      "purpose": "research-supplement",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        8
      ],
      "MTFPages": [
        8
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "kodak-tmax-400-sheet",
      "repositoryPath": "research/film-resolution/documents/kodak-tmax-400-sheet.pdf",
      "title": "Kodak T-MAX 400 Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/f4043_TMax_400.pdf",
      "sha256": "9bd252fdcf37019dc4fb73f40f4d316b28b814190a333b28e7d6c339689c9171",
      "pageCount": 9,
      "catalogFilmIds": [],
      "purpose": "research-supplement",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        7
      ],
      "MTFPages": [
        7
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujichrome_provia_100f",
      "repositoryPath": "static/datasheets/fujichrome_provia_100f.pdf",
      "title": "FUJICHROME Provia 100F Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/4ca5dfc19ecbea6b26c635b5079d6ff3/films_provia-100f_datasheet_01.pdf",
      "sha256": "e28d54e76e8fcdf44c8ffacc930b5b8f2ea54a7cdaeedfcc91790e68eb599de8",
      "pageCount": 6,
      "catalogFilmIds": [
        "fujichrome_provia_100f"
      ],
      "purpose": "film-document",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        6
      ],
      "MTFPages": [
        6
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujichrome_velvia_100",
      "repositoryPath": "static/datasheets/fujichrome_velvia_100.pdf",
      "title": "FUJICHROME Velvia 100 Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/0eb6f2c8057e9e186e6975edf8d493ae/films_velvia-100_datasheet_01.pdf",
      "sha256": "4c57a27b978311ca2ef819f2bf2d74c757639d27f9f0bd94e5f49c4b1c3d5902",
      "pageCount": 8,
      "catalogFilmIds": [
        "fujichrome_velvia_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        8
      ],
      "MTFPages": [
        8
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujichrome_velvia_50",
      "repositoryPath": "static/datasheets/fujichrome_velvia_50.pdf",
      "title": "FUJICHROME Velvia 50 Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/3d88b84d7cbd43d8c3a32ca72d107ae4/films_velvia-50_datasheet_01.pdf",
      "sha256": "668844e4cf81d5d234645c90d0b3217ed81c3be925a063b4752f7a71c3954d4c",
      "pageCount": 8,
      "catalogFilmIds": [
        "fujichrome_velvia_50"
      ],
      "purpose": "film-document",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        7
      ],
      "MTFPages": [
        8
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujicolor_c200",
      "repositoryPath": "static/datasheets/fujicolor_c200.pdf",
      "title": "FUJICOLOR C200 Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/cce1e1943550fc3e76c22411066f0100/films_c200_datasheet_01.pdf",
      "sha256": "fe9a94fb0adc8817e77156517ab8cfe60fe7ce1f6275cc223686db664d6f2629",
      "pageCount": 6,
      "catalogFilmIds": [
        "fujicolor_c200"
      ],
      "purpose": "film-document",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        5
      ],
      "MTFPages": [
        6
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujicolor_pro_400h",
      "repositoryPath": "static/datasheets/fujicolor_pro_400h.pdf",
      "title": "FUJICOLOR PRO 400H Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/d68b00b13f1b6234629342317be9cf2b/films_pro-400h_datasheet_01.pdf",
      "sha256": "9a2ca2d506cf57c7747ae5b9557d34a6102a76c009b2bb4eaedde829615205d6",
      "pageCount": 8,
      "catalogFilmIds": [
        "fujicolor_pro_400h"
      ],
      "purpose": "film-document",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        7
      ],
      "MTFPages": [
        8
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujicolor_superia_xtra_400",
      "repositoryPath": "static/datasheets/fujicolor_superia_xtra_400.pdf",
      "title": "FUJICOLOR SUPERIA X-TRA 400 Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/www/pl/files/2019-09/af234c58ab3d3b67b41cde22b1155309/films_superia-xtra400_datasheet_01.pdf",
      "sha256": "7e77f9c3bd3001e40f8cafea55c73cdfda09fd1980b55b73862d6da87f6a11b2",
      "pageCount": 6,
      "catalogFilmIds": [
        "fujicolor_superia_xtra_400"
      ],
      "purpose": "film-document",
      "calculationCapability": "published-resolving-power-and-MTF",
      "resolvingPowerPages": [
        5
      ],
      "MTFPages": [
        6
      ],
      "reviewNotes": "Direct numbers and calibrated response curves are usable; retain their different criteria."
    },
    {
      "id": "fujifilm_200",
      "repositoryPath": "static/datasheets/fujifilm_200.pdf",
      "title": "FUJIFILM 200 Data Sheet",
      "sourceUrl": "https://asset.fujifilm.com/master/americas/files/2022-02/112b0a02e409bdf6b5429648695770a4/fujifilm-200-speed-film_data-sheet.pdf",
      "sha256": "afd2ef317d21e119545b4401f10b6438312f61dcab82e28ee609724a8b0dcc02",
      "pageCount": 5,
      "catalogFilmIds": [
        "fujifilm_200"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "PDF has characteristic/spectral curves, but no spatial MTF or resolving-power value. Current US specification webpage supplies 125 lines/mm at 1000:1 separately."
    },
    {
      "id": "fujifilm_400",
      "repositoryPath": "static/datasheets/fujifilm_400.pdf",
      "title": "FUJIFILM 400 Color Negative Film Data Sheet",
      "sourceUrl": "https://www.ishootfujifilm.com/uploads/SUPERIA%20400%20Data%20Sheet.pdf",
      "sha256": "7bbbf25ef56eb83a3319999d00c015e7dceb74102c8c5553f5d139337fc031a2",
      "pageCount": 6,
      "catalogFilmIds": [
        "fujifilm_400"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "PDF has characteristic/spectral curves, but no spatial MTF or resolving-power value. Current US specification webpage supplies 125 lines/mm at 1000:1 separately."
    },
    {
      "id": "fujifilm_professional_guide",
      "repositoryPath": "static/datasheets/fujifilm_professional_guide.pdf",
      "title": "Fujifilm Professional Film Data Guide",
      "sourceUrl": "https://asset.fujifilm.com/www/us/files/2020-03/d52487c5c6f84e7f935c299491c5c1ff/ProfessionalFilmDataGuide.pdf",
      "sha256": "64c6455651b9f13f5cd190219e4928d1fdf13ecf33859c4691d830bced8d3d36",
      "pageCount": 65,
      "catalogFilmIds": [],
      "purpose": "historical-reference",
      "calculationCapability": "historical-collection-and-method",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Multiple historical stock tables/charts at PDF pp.24\u201334,53\u201354; MTF method pp.61\u201362 and resolving-power method p.64. Match each historical product/generation before using it. Individual stock sheets used for calculations."
    },
    {
      "id": "harman_phoenix_200",
      "repositoryPath": "static/datasheets/harman_phoenix_200.pdf",
      "title": "HARMAN Phoenix 200 Technical Data Sheet",
      "sourceUrl": "https://www.harmanphoto.co.uk/amfile/file/download/file/1963/product/2143/?___from_store=harman_photo_uk&___store=harman_photo_brochure",
      "sha256": "a1db5ae7e36558f56279b9fcdcda35b0d0aff94edb6b2553e659950acab666eb",
      "pageCount": 7,
      "catalogFilmIds": [
        "harman_phoenix_200"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure/processing/scanning or spectral/density guidance; no numeric spatial-resolution input found."
    },
    {
      "id": "harman_phoenix_200_scanning",
      "repositoryPath": "static/datasheets/harman_phoenix_200_scanning.pdf",
      "title": "HARMAN Phoenix 200 Recommended Scanning Parameters",
      "sourceUrl": "https://www.harmanphoto.co.uk/wp/wp-content/uploads/sites/3/2024/10/Phoenix-Scanning-Parameters-011024.pdf",
      "sha256": "aadd52fc00e293c328d99c50cc786d49d203c83c654693babee4279b3a774a68",
      "pageCount": 3,
      "catalogFilmIds": [
        "harman_phoenix_200"
      ],
      "purpose": "supplemental-guide",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure/processing/scanning or spectral/density guidance; no numeric spatial-resolution input found."
    },
    {
      "id": "harman_phoenix_ii_200",
      "repositoryPath": "static/datasheets/harman_phoenix_ii_200.pdf",
      "title": "HARMAN Phoenix II Data Sheet",
      "sourceUrl": "https://www.harmanphoto.co.uk/amfile/file/download/file/1968/product/2208/",
      "sha256": "f457c14b97b980dac7b12d05fa40fc397095431188576cf32cc647b9b95c4cae",
      "pageCount": 5,
      "catalogFilmIds": [
        "harman_phoenix_ii_200"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure/processing/scanning or spectral/density guidance; no numeric spatial-resolution input found."
    },
    {
      "id": "harman_red_125",
      "repositoryPath": "static/datasheets/harman_red_125.pdf",
      "title": "HARMAN Red 125 Technical Data Sheet",
      "sourceUrl": "https://www.harmanphoto.co.uk/amfile/file/download/file/1965/product/2170/",
      "sha256": "3c7328ae9b7b1ae6561d4dc9a60543e9819ec1b5db8514f1d89cf5dec7ad5053",
      "pageCount": 5,
      "catalogFilmIds": [
        "harman_red_125"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure/processing/scanning or spectral/density guidance; no numeric spatial-resolution input found."
    },
    {
      "id": "harman_switch_azure_125",
      "repositoryPath": "static/datasheets/harman_switch_azure_125.pdf",
      "title": "HARMAN Switch Azure 125 Data Sheet",
      "sourceUrl": "https://www.harmanphoto.co.uk/amfile/file/download/file/1969/product/2229/",
      "sha256": "b3be5897eabe215180077633d793973b521b182c969a8419385d3f01b9d1122b",
      "pageCount": 6,
      "catalogFilmIds": [
        "harman_switch_azure_125"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure/processing/scanning or spectral/density guidance; no numeric spatial-resolution input found."
    },
    {
      "id": "kodak_aerocolor_iv_2460",
      "repositoryPath": "static/datasheets/kodak_aerocolor_iv_2460.pdf",
      "title": "KODAK AEROCOLOR IV Negative Film 2460 Technical Data",
      "sourceUrl": "https://www.kodak.com/content/pdfs/amc/KODAK-AEROCOLOR-IV-Negative-Film-2460-datasheet-en.pdf",
      "sha256": "de0bbc31dcde97f53f8a736e1e5e7becf8ead15911613936410ed2d3a5287adf",
      "pageCount": 6,
      "catalogFilmIds": [
        "kodak_aerocolor_iv_2460",
        "flic_elektra_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        5
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_ektachrome_100d",
      "repositoryPath": "static/datasheets/kodak_ektachrome_100d.pdf",
      "title": "KODAK EKTACHROME 100D 5294/7294 Technical Information",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-EKTACHROME-100D-5294-7294-technical-information.pdf",
      "sha256": "3662edeefc00be8a0233df493e424452e7aea2d8cd672354808b64d46fa76dd6",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_ektachrome_100d",
        "ilfochrome_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        2
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_ektachrome_e100",
      "repositoryPath": "static/datasheets/kodak_ektachrome_e100.pdf",
      "title": "KODAK PROFESSIONAL EKTACHROME Film E100 Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/e4000_ektachrome_100.pdf",
      "sha256": "d6e6fa1497c4fc16010997b1a8510d9df3b4692e34c48599c8a4338d5768fab6",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_ektachrome_e100"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        3
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_ektar_100",
      "repositoryPath": "static/datasheets/kodak_ektar_100.pdf",
      "title": "KODAK PROFESSIONAL EKTAR 100 Film Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4046.pdf",
      "sha256": "38a41d47ad006cd563793033f83c8f9ef6cdd3c8300695c31facfc71d368f8db",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_ektar_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        4
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_gold_200",
      "repositoryPath": "static/datasheets/kodak_gold_200.pdf",
      "title": "KODAK GOLD 200 Film Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/E7022_Gold_200.pdf",
      "sha256": "9f19012f258b5e61be9b043c554483f01d338d0a8aff28163cb4ef6d7ddbe7df",
      "pageCount": 5,
      "catalogFilmIds": [
        "kodak_gold_200"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Grain information and exposure/spectral/density curves do not supply a spatial-frequency input."
    },
    {
      "id": "kodak_portra_160",
      "repositoryPath": "static/datasheets/kodak_portra_160.pdf",
      "title": "KODAK PROFESSIONAL PORTRA 160 Film Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4051.pdf",
      "sha256": "1f3430cd8e1b4ad370d8bbf8c648f6f5871a9911dfd5794613e9bbf3bbf9cb82",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_portra_160"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        4
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_portra_400",
      "repositoryPath": "static/datasheets/kodak_portra_400.pdf",
      "title": "KODAK PROFESSIONAL PORTRA 400 Film Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4050.pdf",
      "sha256": "70b15171673c5d01505f58ace448995ad72acbe5e401d1966563a61ac0712838",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_portra_400"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        4
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_portra_800",
      "repositoryPath": "static/datasheets/kodak_portra_800.pdf",
      "title": "KODAK PROFESSIONAL PORTRA 800 Film Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/2025-07/e4040.pdf",
      "sha256": "13581198dffa01c5a2a38ab87d96a73cf2e2755b6514d55c65206fe621a60b5a",
      "pageCount": 5,
      "catalogFilmIds": [
        "kodak_portra_800"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        5
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_pro_image_100",
      "repositoryPath": "static/datasheets/kodak_pro_image_100.pdf",
      "title": "KODAK PROFESSIONAL PRO IMAGE 100 Film Technical Data (historical mirror)",
      "sourceUrl": "https://analogfilm.space/assets/kodak-proimage-100.n3IH3y40.pdf",
      "sha256": "f2d1a1faa32bbbc96ab4f69ffa5ee7d99f8bc554392dcec42f715fb934d92700",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_pro_image_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Grain information and exposure/spectral/density curves do not supply a spatial-frequency input."
    },
    {
      "id": "kodak_ultramax_400",
      "repositoryPath": "static/datasheets/kodak_ultramax_400.pdf",
      "title": "KODAK ULTRAMAX 400 Film Technical Data",
      "sourceUrl": "https://www.kodakprofessional.com/sites/default/files/wysiwyg/pro/resources/E7023_max_400.pdf",
      "sha256": "598f44c39c2cd420554d9e7395ce7213e8bf9f1815fbf550dadaeb625826c77d",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_ultramax_400"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Grain information and exposure/spectral/density curves do not supply a spatial-frequency input."
    },
    {
      "id": "kodak_verita_200d",
      "repositoryPath": "static/datasheets/kodak_verita_200d.pdf",
      "title": "KODAK VERITA 200D 5206 / 7206 Technical Information",
      "sourceUrl": "https://www.kodak.com/content/pdfs/motion/KODAK-VERITA-200D-5206-7206-technical-information.pdf",
      "sha256": "aa5bfd899003cf4a0ae5a86a33325e0eac2ed16b9fca61c8894532de1458bae2",
      "pageCount": 5,
      "catalogFilmIds": [
        "kodak_verita_200d"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        3
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_vision3_200t",
      "repositoryPath": "static/datasheets/kodak_vision3_200t.pdf",
      "title": "KODAK VISION3 200T 5213/7213 Technical Information",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-200T-5213-7213-technical-information.pdf",
      "sha256": "6208b3938416434bb74fc628d102b59cd60cb1704510202496b46197796ec624",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_vision3_200t"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        3
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_vision3_250d",
      "repositoryPath": "static/datasheets/kodak_vision3_250d.pdf",
      "title": "KODAK VISION3 250D 5207/7207 Technical Information",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-250D-5207-7207-technical-information.pdf",
      "sha256": "70adb298a7aabb285d986b720e07c87c27eb2361f0925aea2b15903c08282e16",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_vision3_250d"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        3
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_vision3_500t",
      "repositoryPath": "static/datasheets/kodak_vision3_500t.pdf",
      "title": "KODAK VISION3 500T 5219/7219 Technical Information",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-5219-7219-technical-information.pdf",
      "sha256": "6d037d8090373ee50d10bedfff3df14777a575dd107c50edcafc7ec5862d0972",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_vision3_500t"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        3
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_vision3_50d",
      "repositoryPath": "static/datasheets/kodak_vision3_50d.pdf",
      "title": "KODAK VISION3 50D 5203/7203 Technical Information",
      "sourceUrl": "https://www.kodak.com/content/products-brochures/motion-picture/KODAK-VISION3-50D-5203-7203-technical-information.pdf",
      "sha256": "b4613661abed641671329eff3bd7d5686b268eb26b954ef1c27ea68f363caca6",
      "pageCount": 4,
      "catalogFilmIds": [
        "kodak_vision3_50d"
      ],
      "purpose": "film-document",
      "calculationCapability": "MTF",
      "resolvingPowerPages": [],
      "MTFPages": [
        3
      ],
      "reviewNotes": "Frequency axis supplies R at a selected response threshold; extracted values are approximate."
    },
    {
      "id": "kodak_vision3_ahu_spec",
      "repositoryPath": "static/datasheets/kodak_vision3_ahu_spec.pdf",
      "title": "Kodak VISION3 AHU catalog-number transition notice",
      "sourceUrl": "https://www.kodak.com/content/pdfs/motion/PCN082225-AHU-Cat-Number-Changes-WW.pdf",
      "sha256": "363ffb4d9ef49b584e04dadb827c0b692c7cfdfcd2e3ae4c34f3584518319745",
      "pageCount": 2,
      "catalogFilmIds": [],
      "purpose": "transition-reference",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Backing-transition notice; no spatial-resolution input."
    },
    {
      "id": "lomochrome_metropolis",
      "repositoryPath": "static/datasheets/lomochrome_metropolis.pdf",
      "title": "LomoChrome Metropolis Film Guide",
      "sourceUrl": "https://cdn.downloads.lomography.com/downloads/lomochrome-metropolis-film-guide.pdf",
      "sha256": "fedf51c1bcf86c6e1b4f23f3a669340e39ed5bf5b8d5b90bca3f9ece79c01c30",
      "pageCount": 21,
      "catalogFilmIds": [
        "lomochrome_metropolis"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure, process, color effects and push/pull guide; no spatial-resolution input."
    },
    {
      "id": "lomochrome_purple",
      "repositoryPath": "static/datasheets/lomochrome_purple.pdf",
      "title": "LomoChrome Purple Film Guide (family reference)",
      "sourceUrl": "https://cdn.downloads.lomography.com/downloads/lomochrome-purple-film-guide.pdf",
      "sha256": "0fb98ef8d13ae7d289f0fc7a70553a281e533e987d6fe72d186d0389b3505ec9",
      "pageCount": 21,
      "catalogFilmIds": [
        "lomochrome_purple"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure, process, color effects and push/pull guide; no spatial-resolution input."
    },
    {
      "id": "lomochrome_turquoise",
      "repositoryPath": "static/datasheets/lomochrome_turquoise.pdf",
      "title": "LomoChrome Turquoise Film Guide",
      "sourceUrl": "https://cdn.downloads.lomography.com/downloads/turquoise-film-guide.pdf",
      "sha256": "7dc765281a9b9ef2ee01fe1997104064f93b1104227b2a9a40f7ee7354173118",
      "pageCount": 21,
      "catalogFilmIds": [
        "lomochrome_turquoise"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure, process, color effects and push/pull guide; no spatial-resolution input."
    },
    {
      "id": "lomography_color_100",
      "repositoryPath": "static/datasheets/lomography_color_100.pdf",
      "title": "Lomography Color Negative 100 Film Guide",
      "sourceUrl": "https://cdn.downloads.lomography.com/downloads/color-negative-100-film-guide.pdf",
      "sha256": "750a0fa6002fcbaa64c91f7a6bac4909900c9cae7ffa925b8e48c438833a9a07",
      "pageCount": 21,
      "catalogFilmIds": [
        "lomography_color_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure, process, color effects and push/pull guide; no spatial-resolution input."
    },
    {
      "id": "lomography_color_400",
      "repositoryPath": "static/datasheets/lomography_color_400.pdf",
      "title": "Lomography Color Negative 400 Film Guide",
      "sourceUrl": "https://cdn.downloads.lomography.com/downloads/color-negative-400-film-guide.pdf",
      "sha256": "09640b35d0e18be6a33d82241c28ac5d522422f10e9888ad20877fcbf09f4503",
      "pageCount": 21,
      "catalogFilmIds": [
        "lomography_color_400"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure, process, color effects and push/pull guide; no spatial-resolution input."
    },
    {
      "id": "lomography_color_800",
      "repositoryPath": "static/datasheets/lomography_color_800.pdf",
      "title": "Lomography Color Negative 800 Film Guide",
      "sourceUrl": "https://cdn.downloads.lomography.com/downloads/color-negative-800-film-guide.pdf",
      "sha256": "388305584fc1be240efd3d364d9b668efb589154c0841bcdc95644dfa59d055f",
      "pageCount": 21,
      "catalogFilmIds": [
        "lomography_color_800"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Exposure, process, color effects and push/pull guide; no spatial-resolution input."
    },
    {
      "id": "wolfen_nc400",
      "repositoryPath": "static/datasheets/wolfen_nc400.pdf",
      "title": "WOLFEN NC400 Color Negative Film Datasheet",
      "sourceUrl": "https://filmotec.de/wp-content/uploads/2023/08/Datenblatt-Wolfen-NC400.pdf",
      "sha256": "084105d1ce137388c1b1cf2c556351ef9eab156b69a49502d0406a5b27f6ba44",
      "pageCount": 2,
      "catalogFilmIds": [
        "wolfen_nc400"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "ISO, base thickness and characteristic density curves; no spatial MTF or resolving-power number."
    },
    {
      "id": "wolfen_nc500",
      "repositoryPath": "static/datasheets/wolfen_nc500.pdf",
      "title": "WOLFEN NC500 Color Negative Film Datasheet",
      "sourceUrl": "https://filmotec.de/wp-content/uploads/2023/04/Datenblatt-Wolfen-NC500.pdf",
      "sha256": "11689146898a7c3e101c1cd9442cceef4598afbb6636e0c1787516caf604b150",
      "pageCount": 2,
      "catalogFilmIds": [
        "wolfen_nc500"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "ISO, base thickness and characteristic density curves; no spatial MTF or resolving-power number."
    },
    {
      "id": "ilfocolor_vintage_400_plus",
      "repositoryPath": "static/datasheets/ilfocolor_vintage_400_plus.pdf",
      "title": "ILFORD ILFOCOLOR Vintage Tone 400+ Technical Data Sheet (V2)",
      "sourceUrl": "https://ilfocolor.com/wp-content/uploads/2024/09/datasheet_ILFORD_VintageTone400_V2.pdf",
      "sha256": "2246613b6614a139fab9b489f372c05b24d877af902e240b4142e70ae7cf86cc",
      "pageCount": 1,
      "catalogFilmIds": [
        "ilfocolor_vintage_400_plus"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "ISO, base thickness and density/log-exposure characteristic curve; no spatial MTF or resolving-power number."
    },
    {
      "id": "santacolor_100_distributor_guide",
      "repositoryPath": "static/datasheets/santacolor_100_distributor_guide.pdf",
      "title": "SantaColor 100 Professional \u2014 Polyphoto distributor specification guide",
      "sourceUrl": "https://fotospina.com/wp-content/uploads/2023/07/SantaFilm_SchedaTecnica.pdf",
      "sha256": "6e641693d31b92eac39db0ad241890fb82a10f3f0421479cc56a09fc03d9c2f9",
      "pageCount": 1,
      "catalogFilmIds": [
        "santacolor_100"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Distributor-authored product specifications and handling guidance; no spatial MTF or resolving-power number. Does not identify Aerocolor IV 2460."
    },
    {
      "id": "candido_800_reserve_c41",
      "repositoryPath": "static/datasheets/candido_800_reserve_c41.pdf",
      "title": "Candido 800 Reserve \u2014 C-41 Technical Data Sheet (current version reference)",
      "sourceUrl": "https://www.candidocollective.com/s/Candido-800-Reserve-C-41-Technical-Data-Sheet.pdf",
      "sha256": "c652ed1e4233a59ed855f1c0316af92b4762f2347ec920679a130646322f4f4f",
      "pageCount": 3,
      "catalogFilmIds": [
        "candido_800t"
      ],
      "purpose": "film-document",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Current 800 Reserve process-specific exposure guide identifies VISION3 500T 5219, but provides no spatial MTF or resolving-power number. Coating generation and equivalence to older 800T samples remain unconfirmed."
    },
    {
      "id": "candido_800_reserve_ecn2",
      "repositoryPath": "static/datasheets/candido_800_reserve_ecn2.pdf",
      "title": "Candido 800 Reserve \u2014 ECN-2 Technical Data Sheet (current version reference)",
      "sourceUrl": "https://www.candidocollective.com/s/Candido-800-Reserve-ECN-2-Technical-Data-Sheet.pdf",
      "sha256": "a080f324eec6e06a7f7698587320e16ff72248f55b11bc0699aa350ee1d35a82",
      "pageCount": 3,
      "catalogFilmIds": [
        "candido_800t"
      ],
      "purpose": "supplemental-guide",
      "calculationCapability": "no-spatial-resolution-input",
      "resolvingPowerPages": [],
      "MTFPages": [],
      "reviewNotes": "Current 800 Reserve process-specific exposure guide identifies VISION3 500T 5219, but provides no spatial MTF or resolving-power number. Coating generation and equivalence to older 800T samples remain unconfirmed."
    }
  ],
  "supplementalFilmIds": [
    "kodak_tmax_100",
    "kodak_tmax_400",
    "adox_cms_20_ii"
  ]
}
