Certain hardware devices, such as Kryoflux, Pauline, and Applesauce, read magnetic media at the flux transition level.
Flux transition reads are digital representations of the analog properties of the media, and cannot be reliably interpreted on a sector-by-sector basis without further processing.
Instead, the data is accessed through capture blocks whose size varies based on the medium and imaging hardware.
For example, floppy disk captures typically represent one full track revolution; Applesauce may capture 1¼ revolutions.
For Quick Disks, the minimum capture is often an entire side of the media.
Each capture block includes two flux data streams: one for user data and one for the indexing signal.
Flux data is represented as an array of `uint8_t` bytes.
Each byte stores the tick count since the last flux transition.
If no transition is detected within a byte's range, the value `0xFF` is used, and counting resumes in the next byte with ticks accumulated.
Flux data is stored in `DataBlocks` of the flux data type, referenced from a deduplication table of the same type.
Only one flux-type deduplication table is allowed per image, and it must have exactly one level.