10.16 Section 10: Hardware Limitations (Camera Profiles)

Panoramic formats: 24x65 and 6x17

The XPan strip and the 6x17 strip on the FMT dial, framed, metered and locked like any other format.

Where to find it

Viewfinder FMT dial; Tools tab Equipment Camera Body (Gear mode); Tools tab Depth of Field; Viewfinder Crop icon Framing Overlay sheet

Summary

Two panoramic gates join the FMT dial: 24x65, the wide frame of the Hasselblad XPan, the Fuji TX bodies and the Mamiya 7 panoramic kit, and 6x17, the Fuji GX617 and Linhof Technorama strip on 120. The viewfinder shows them as 2.71:1 and 3:1 strips, picks the phone camera by the strip's width rather than its diagonal, and says how much of the width it shows when the phone cannot zoom out far enough. In Gear mode an XPan-family body keeps the dial on 35mm and 24x65 and starts on 24x65, a Mamiya 7 offers 6x7 and 24x65 and starts on 6x7, and a GX617 locks it to 6x17. Depth of field uses the circle of confusion of the frame that shares the panorama's short side. In Equipment a Panoramic tab, between LF and Cine in the format bar, narrows the camera list to every body that shoots 24x65 or 6x17 and the lens list to the glass they take.

How it works

Turn the FMT dial one click past 35mm and you land on 24x65, the panoramic frame of the Hasselblad XPan. Past 6x9 sits 6x17, the strip a Fuji GX617 lays across 120 film, four frames to a roll. The viewfinder turns into a long strip at the real proportions, 2.71:1 for 24x65 and 3:1 for 6x17, so you compose exactly what the camera will expose. Shot log entries and the CSV export record the format like any other.

Finding panoramic gear

Open Equipment and tap Panoramic in the format bar, the tab between LF and Cine. The camera list then holds only bodies that can shoot a panoramic frame: the XPan and XPan II, the Fuji TX-1 and TX-2, the Mamiya 7 and 7 II, the GX617, and any custom body you saved as 24x65 or 6x17. The lens list narrows to the glass those bodies take. On a narrow screen, or with a larger text size, the bar scrolls sideways to reach the last tabs.

XPan, Fuji TX and Mamiya 7

Pick an XPan, XPan II, TX-1 or TX-2 in Equipment and the dial jumps to 24x65, since that is why most people carry one. It stays live but only offers 35mm and 24x65, the two gates the camera switches between mid-roll. A Mamiya 7 or 7 II gets 6x7 and 24x65, the frame of Mamiya's 35mm panoramic adapter kit, and stays on 6x7 until you turn the dial. The line under the focal length gives a full-frame equivalent by diagonal, so the XPan 45mm reads as about 28mm; XPan shooters usually quote 25mm, which matches the width alone.

6x17 cameras

A GX617 only shoots 6x17, so picking it locks the dial there, the same way a Hasselblad 500 locks it to 6x6, and its lenses sit under the MF tab in Equipment. Shooting a 617 or a panoramic 35mm the catalogue does not have? Add it as a custom camera with 6x17 panoramic or 24x65 panoramic as the format. Like every custom body it sets the dial when you pick it and then leaves it free.

When the phone runs out of width

A panorama is much wider than its diagonal suggests: the XPan 45mm covers about 72 degrees across the frame and the GX617 90mm about 86. The app reaches for the ultra-wide when the main camera cannot cover the strip. If even that falls short, the note under the viewfinder tells you how much of the width you are seeing, say 82%. To see more, tap Flip Orientation and hold the phone sideways, which puts the long side of the phone's sensor along the strip.

Depth of field

The depth of field calculator uses the circle of confusion of the frame that shares the panorama's short side: 0.029 mm, the 35mm value, for 24x65, and 0.067 mm, the 6x9 value, for 6x17. A panorama is enlarged like that frame, only wider, and Hasselblad's own XPan tables use one value for both gates. Flipping an XPan between 35mm and 24x65 leaves the hyperfocal distance where it was.

Implementation notes (for developers)
FilmFormat.PANORAMIC_24x65 (displayName 24×65, gate 65 x 24 mm, focal 30 to 210, commons 30 43 45 50 65 80 90 150 210) and FilmFormat.MEDIUM_6x17 (6×17, 168 x 56 mm, focal 72 to 300, commons 72 90 105 180 250 300). Declared right after FULL_FRAME_35MM and MEDIUM_6x9 so FilmFormat.entries is the dial order everywhere (FMT dial in both themes, Framing kit editor chips). Gates store the long side as width (horizontal strip by default, Framing FOV label quotes the long-side angle), unlike the 6xN gates that store 56 as width. FilmFormat.isPanoramic = long/short >= 2. FilmFormat.cocReferenceFormat (exhaustive when): itself for classic gates, FULL_FRAME_35MM for 24x65, MEDIUM_6x9 for 6x17; cocMm = reference diagonal / 1500 (0.0288 and 0.0673 mm), used by DofDialog and the Scheimpflug wedge, footnote via dofCocFootnote. Justified by Hasselblad's XPan 4/45 and 4/90 data sheets: one 33 micron table per lens for both gates. FMT lock: CameraSpec.gateChoice looks the mount up in the companion's MULTI_GATE_MOUNTS table. 'hasselblad xpan' gives FormatLock.Choice([FULL_FRAME_35MM, PANORAMIC_24x65], default PANORAMIC_24x65), so the Fuji TX-1 / TX-2 rows work with no code change. 'mamiya 7' gives Choice([PANORAMIC_24x65, MEDIUM_6x7], default MEDIUM_6x7) for mamiya-7 and mamiya-7-ii: Panoramic Adapter Kit AD701, 'Picture area: 24mm x 65mm' in both the Mamiya 7 manual (p. 30) and the Mamiya 7 II manual (p. 41). The Mamiya 6 MF stays pinned to 6x6 because its 35mm panorama is 24x54 (camera-wiki, Wikipedia). Choice requires two or more gates in dial order with the default among them. Format '120 (6x17)' resolves to MEDIUM_6x17 and pins like any single-format body; see 10.14 for the reconcile rules. Camera pick: recalculateZoom feeds selectBestCameraForFocalLength CameraMathUtils.cameraSelectionTarget35mm, which for panoramic gates is previewZoomForFormat on the active camera times its own 35mm equivalent (diagonal for classic gates, unchanged), so a strip only the ultra-wide covers no longer stays on the main camera with no warning. aspectAwareZoom now delegates to the pure previewZoomForFormat. fovWarningText swaps the camera-at-widest banner for 'Phone shows N% of the 24×65 width' (CameraMathUtils.frameCoverage on ViewfinderState.requiredZoomRatio / clampedZoomRatio), plus a Flip Orientation tip while unflipped. Framing: built-in kits HASSELBLAD_XPAN (-40, 30 45 90) and FUJI_GX617 (-41, 90 105 180 300); BuiltInLensKits.starterKitId pins synthesized starter ids to the pre-10.16 ordinals (-999 minus 0..6, new formats 7 and 8) so saved kit ids and per-kit focal edits survive the mid-enum insert. Lens scope: 'hasselblad xpan' joins THIRTY_FIVE_MM_MOUNTS and 'fuji gx617' MEDIUM_FORMAT_MOUNTS (GX617 glass used to fall into the 35mm tab). Add custom camera offers '24x65' and '120 (6x17)' (labels pano_custom_format_*); custom bodies still never lock. Strings in res/values/strings_panoramic.xml (pano_ prefix). Shot log, CSV export and rolls store the enum name and show displayName with no change. Catalogue lenses: Hasselblad XPan mount 30, 45, 90 (complete); Fuji GX617 mount 90, 105, 180, 300 (missing the later SWD 90mm); no Linhof 617 or Fuji G617 bodies yet. Tests: PanoramicFormatTest, FormatLockTest, CameraSpecFormatLockTest. Panoramic tab: FormatMode.PANORAMIC, declared between LARGE and CINE (persisted by name, so no schema change), is a cross-cutting scope no entry has as its own formatMode. scopeCamerasByFormat keeps CameraSpec.shootsPanoramic bodies (FormatLock.kt; filmFormat or gateChoice includes a panoramic gate, so custom 24x65 / 6x17 bodies count); scopeLensesByFormat keeps lenses whose mount a panoramic body takes (XPan 30/45/90, Mamiya 7 N, GX617 Fujinons). Both live in model/GearSelection.kt. EquipmentFormatPill now has six tabs: each segment is at least an equal share of the pill and the row scrolls sideways when labels need more room, with the sliding indicator following the measured segment and the selected tab scrolled into view. ensureCustomEntryVisible asks the same scope functions, so a custom 24x65 body saved under Panoramic keeps the tab; the Add custom camera dialog prefills 24x65 there. Label mlb_format_tab_panoramic in strings_panoramic.xml. PanoramicScopeTest.

Search documentation