Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #26 +/- ##
=======================================
Coverage 99.74% 99.75%
=======================================
Files 1 1
Lines 389 401 +12
=======================================
+ Hits 388 400 +12
Misses 1 1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Nice! I would draw attention to the ability to display the whole structure with |
|
Thanks, Chris! This pushed me to finally start trying the doctest-as-a-test workflow. It seemed like getting the show method tests to be OS-agnostic would be a pain, so I just modified the top-level root to display the file name instead of its path. efbfb46 |
|
Cool to have the doctests run in the test suite! And nice docstring! |
|
Thanks! I guess the next thing would be to have the ouptut of the underlying dict be deterministic / preserve insertion order. I have an experimental branch for that here with OrderedDict https://github.com/JuliaAstro/ASDF.jl/tree/ordered. On the flipside, idk what implications this would have for performance yet. Maybe just displaying the keys as sorted but leaving the underlying data as an ordinary dict would work better Heading out the door now, but can try implementing it here sometime tomorrow to see how things shake out |
|
Ok, ran some things. This is not a comprehensive benchmark by any means and is probably just mostly measuring YAML.jl's I/O, but I think I am seeing the following for loading/saving modest payloads: SummaryWrite
Load
So about 2% - 7% increase in write times and maybe 1% increase in load times when using an Here's the benchmark code too in case I am missing something more subtle. DetailsSetupusing ASDF
using OrderedCollections: OrderedDict
using BenchmarkTools: @btime
make_doc(n_rows) = Dict{Any, Any}("field_$(i)" => rand(3, 4, 500) for i in 1:n_rows)
make_doc_ordered(n_rows) = OrderedDict{Any, Any}("field_$(i)" => rand(3, 4, 500) for i in 1:n_rows)
function write_file(n_rows)
doc = make_doc(n_rows)
path = string(tempname(), ".asdf")
ASDF.write_file(path, doc)
return path
end
function write_file_ordered(n_rows)
doc = make_doc_ordered(n_rows)
path = string(tempname(), ".asdf")
ASDF.write_file(path, doc)
return path
endUnordered
|
|
Preserving insertion order is nice, in multi-step reduction pipelines (take ASDF file -> do something to it -> add new metadata describing what you did) it allows you to more easily track the flow of alterations. I think using OrderedDict would probably be nice for this Edit: I'm not sure whether the ASDF specification defines if insertion order should be maintained or not. Particularly in the case that you read ASDF file -> add entries to tree -> write tree out. Might be worth checking what the python implementation does and just mirroring that choice for cross-language consistency. |
|
For sure. It's my understanding that python dicts are ordered by default these days, so they get this for free It might be nice to swap OrderedDict for Dictionaries.jl one day, which looks to also support ordered dicts by default in its impl, but I think that would require a more comprehensive integration with YAML.jl |
|
Ok, I got curious and tried it by getting Claude to monkey-patching YAML.jl to use Dictionaries.jl, and then calling that from a modified branch of ASDF.jl. It didn't really seem to make a difference compared to OrderedDict in the initial benchmarks I tried, oh well. Detailsjulia> make_doc(n_rows) = Dictionary{Any, Any}(["field_$(i)" for i in 1:n_rows], [rand(3, 4, 500) for i in 1:n_rows])
make_doc (generic function with 1 method)
julia> @btime ASDF.write_file(path, make_doc(10)) setup = (path = string(tempname(), ".asdf")) teardown = (rm(path; force = true)) evals = 1
14.258 ms (315574 allocations: 32.35 MiB)
julia> @btime ASDF.write_file(path, make_doc(100)) setup = (path = string(tempname(), ".asdf")) teardown = (rm(path; force = true)) evals = 1
153.420 ms (3154807 allocations: 323.47 MiB)
julia> @btime ASDF.write_file(path, make_doc(1_000)) setup = (path = string(tempname(), ".asdf")) teardown = (rm(path; force = true)) evals = 1
1.783 s (31551037 allocations: 3.16 GiB)
julia> @btime ASDF.load_file(path) setup = (path = write_file(10)) teardown = (rm(path; force = true)) evals = 1;
159.012 ms (481180 allocations: 35.64 MiB)
julia> @btime ASDF.load_file(path) setup = (path = write_file(100)) teardown = (rm(path; force = true)) evals = 1;
1.620 s (4807592 allocations: 256.83 MiB)
julia> @btime ASDF.load_file(path) setup = (path = write_file(1000)) teardown = (rm(path; force = true)) evals = 1;
17.013 s (48072570 allocations: 2.41 GiB)It's also vibe coded as hell and I would be hesitant to submit it even as a draft PR, at least in its current form. Idk if it's worth pursuing further, but it's there if we ever want to try picking it up in the future I guess |
|
I've never used Dictionaries.jl so I don't have any insight to add. I would probably opt for OrderedDict myself, seems like the performance hit is minimal and it will replicate the python behavior as people may expect it to. |
|
Sounds good. Things are looking green now |
|
Okie doke, things are merged in FileIO.jl now. I'm going to start staging things in the main branch so that we'll just have a single PR to make the switch from using their master branch to using their release |
Some changes to the user-facing parts to hopefully reduce friction a bit. Happy to make any edits / drop what doesn't seem helpful.
1. File I/O load/save (depends on JuliaIO/FileIO.jl#427)
To-do:
[sources] entryafter FileIO.jl merged2. More permissive construction
3. Direct field access
4. Support
OrderedDict5. Cleaned up show method a bit
# Before ASDF.ASDFFile("test/blue_upchan_gain.00000000.asdf", Dict{Any, Any}(0 => Dict{Any, Any}("dish_index" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file test/blue_upchan_gain.00000000.asdf>), 649, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x62, 0x6c, 0x73, 0x63], 0x0000000000000041, 0x0000000000000041, 0x0000000000000200, UInt8[0xf6, 0x34, 0x97, 0x16, 0xb2, 0x55, 0x1e, 0xa7, 0x2f, 0xd5, 0xb9, 0xb6, 0x3a, 0x86, 0x7d, 0x32])]), nothing, Int32[-1 -1; 42 53; 43 54], [2, 3], "int32", "little", 0, [12, 4]), "buffer" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file test/blue_upchan_gain.00000000.asdf>), 649, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x62, 0x6c, 0x73, 0x63], 0x0000000000000041, 0x0000000000000041, 0x0000000000000200, UInt8[0xf6, 0x34, 0x97, 0x16, 0xb2, 0x55, 0x1e, 0xa7, 0x2f, 0xd5, 0xb9, 0xb6, 0x3a, 0x86, 0x7d, 0x32])]), 0, nothing, [256], "float16", "little", 0, [2]), "dim_names" => ["Fbar"]), "asdf/library" => Dict{Any, Any}("name" => "asdf-cxx", "author" => "Erik Schnetter", "homepage" => "https://github.com/eschnett/asdf-cxx", "version" => "7.2.0")), ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file test/blue_upchan_gain.00000000.asdf>), 649, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x62, 0x6c, 0x73, 0x63], 0x0000000000000041, 0x0000000000000041, 0x0000000000000200, UInt8[0xf6, 0x34, 0x97, 0x16, 0xb2, 0x55, 0x1e, 0xa7, 0x2f, 0xd5, 0xb9, 0xb6, 0x3a, 0x86, 0x7d, 0x32])]))This can be additionally controlled with:
Update: @cgarling, following up from our community call today, here's a quick comparison for some Roman data:
Currently
ASDF.ASDFFile("docs/data/roman.asdf", Dict{Any, Any}("history" => Dict{Any, Any}("extensions" => Dict{Any, Any}[Dict("software" => Dict{Any, Any}("name" => "asdf", "version" => "4.1.0"), "manifest_software" => Dict{Any, Any}("name" => "asdf_standard", "version" => "1.1.1"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://asdf-format.org/core/extensions/core-1.6.0"), Dict("software" => Dict{Any, Any}("name" => "roman_datamodels", "version" => "0.23.1"), "manifest_software" => Dict{Any, Any}("name" => "rad", "version" => "0.23.1"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://stsci.edu/datamodels/roman/extensions/datamodels-1.0"), Dict("software" => Dict{Any, Any}("name" => "gwcs", "version" => "0.22.1"), "manifest_software" => Dict{Any, Any}("name" => "asdf_wcs_schemas", "version" => "0.4.0"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://asdf-format.org/astronomy/gwcs/extensions/gwcs-1.3.0"), Dict("software" => Dict{Any, Any}("name" => "asdf-astropy", "version" => "0.7.1"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://astropy.org/astropy/extensions/units-1.0.0"), Dict("software" => Dict{Any, Any}("name" => "asdf-astropy", "version" => "0.7.1"), "manifest_software" => Dict{Any, Any}("name" => "asdf_transform_schemas", "version" => "0.5.0"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://asdf-format.org/transform/extensions/transform-1.6.0"), Dict("software" => Dict{Any, Any}("name" => "asdf-astropy", "version" => "0.7.1"), "manifest_software" => Dict{Any, Any}("name" => "asdf_coordinates_schemas", "version" => "0.3.0"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://asdf-format.org/astronomy/coordinates/extensions/coordinates-1.0.0"), Dict("software" => Dict{Any, Any}("name" => "asdf-astropy", "version" => "0.7.1"), "manifest_software" => Dict{Any, Any}("name" => "asdf_standard", "version" => "1.1.1"), "extension_class" => "asdf.extension._manifest.ManifestExtension", "extension_uri" => "asdf://asdf-format.org/astronomy/extensions/astronomy-1.0.0")]), "asdf_library" => Dict{Any, Any}("name" => "asdf", "author" => "The ASDF Developers", "homepage" => "http://github.com/asdf-format/asdf", "version" => "4.1.0"), "roman" => Dict{Any, Any}("dq_border_ref_pix_top" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 23, nothing, [4, 4096], "uint32", "little", 0, [16384, 4]), "data" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 12, nothing, [4088, 4088], "float32", "little", 0, [16352, 4]), "dq_border_ref_pix_bottom" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 24, nothing, [4, 4096], "uint32", "little", 0, [16384, 4]), "amp33" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 16, nothing, [5, 4096, 128], "uint16", "little", 0, [1048576, 256, 2]), "border_ref_pix_top" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 19, nothing, [5, 4, 4096], "float32", "little", 0, [65536, 16384, 4]), "dq" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 13, nothing, [4088, 4088], "uint32", "little", 0, [16352, 4]), "dq_border_ref_pix_left" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 21, nothing, [4096, 4], "uint32", "little", 0, [16, 4]), "var_rnoise" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 14, nothing, [4088, 4088], "float32", "little", 196656, [49152, 12]), "border_ref_pix_bottom" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 20, nothing, [5, 4, 4096], "float32", "little", 0, [65536, 16384, 4]), "border_ref_pix_right" => ASDF.NDArray(ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]), 18, nothing, [5, 4096, 4], "float32", "little", 0, [65536, 16, 4])…)), ASDF.LazyBlockHeaders(ASDF.BlockHeader[ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174593, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cc, 0x00000000000000cc, 0x0000000000000120, UInt8[0xfb, 0xa9, 0x9b, 0xe3, 0x9b, 0x93, 0x2d, 0x3b, 0xce, 0x1f, 0x01, 0x36, 0xc3, 0x4b, 0x1f, 0x4c], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 174851, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d0, 0x00000000000000d0, 0x0000000000000120, UInt8[0x6e, 0x1b, 0x06, 0xe0, 0xe2, 0x5e, 0xf7, 0x1e, 0xa7, 0x38, 0x7a, 0x0d, 0xb4, 0x49, 0x1e, 0xe1], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175113, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000d1, 0x00000000000000d1, 0x0000000000000120, UInt8[0x98, 0x2d, 0x75, 0x72, 0x70, 0xff, 0xb7, 0xfe, 0xee, 0x14, 0xce, 0xc2, 0xfb, 0x4b, 0x65, 0x9f], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175376, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x00000000000000cf, 0x00000000000000cf, 0x0000000000000120, UInt8[0x0e, 0x96, 0x10, 0xa9, 0xd8, 0x73, 0xce, 0x48, 0x78, 0xac, 0x6b, 0xc5, 0xe1, 0xca, 0xea, 0xe9], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175637, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175816, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000023, 0x0000000000000023, 0x0000000000000020, UInt8[0xaf, 0x3c, 0xeb, 0x00, 0xc5, 0x49, 0x49, 0xaf, 0xf4, 0xf0, 0x5b, 0x50, 0x18, 0x12, 0x59, 0x52], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175905, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000024, 0x0000000000000024, 0x0000000000000020, UInt8[0xef, 0x5b, 0xbd, 0x96, 0x5f, 0x64, 0x79, 0xd4, 0x4b, 0x19, 0x34, 0xde, 0x0e, 0xb9, 0xa3, 0x8e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 175995, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000002a, 0x000000000000002a, 0x0000000000000020, UInt8[0x61, 0x10, 0xb6, 0x1e, 0x07, 0x80, 0x9b, 0x69, 0x7c, 0xfa, 0x5a, 0x59, 0x34, 0xb8, 0xe9, 0x73], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 176091, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000000001a, 0x000000000000001a, 0x0000000000000010, UInt8[0x94, 0x80, 0x88, 0x98, 0x51, 0x4c, 0xfb, 0x51, 0xf2, 0x5e, 0x92, 0x71, 0xf3, 0xf8, 0x3f, 0x31], false) … ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338409315, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000005075, 0x0000000000005075, 0x0000000000500000, UInt8[0x5f, 0x36, 0x3e, 0x0e, 0x58, 0xa9, 0x5f, 0x06, 0xcb, 0xe9, 0xbb, 0xc6, 0x62, 0xc5, 0xdf, 0xb6], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338429966, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338431323, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338432680, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338434037, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000517, 0x0000000000000517, 0x0000000000050000, UInt8[0x1a, 0xca, 0x77, 0xe2, 0x18, 0x8f, 0x52, 0xa6, 0x26, 0x74, 0xfe, 0x8a, 0x87, 0x3b, 0xda, 0xba], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435394, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338435726, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436058, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436390, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x0000000000000116, 0x0000000000000116, 0x0000000000010000, UInt8[0x4d, 0x54, 0xd5, 0x61, 0xbe, 0x32, 0x4c, 0x5f, 0x0f, 0xad, 0x2e, 0x65, 0xb4, 0x21, 0x4a, 0x5e], false), ASDF.BlockHeader(IOStream(<file docs/data/roman.asdf>), 338436722, UInt8[0xd3, 0x42, 0x4c, 0x4b], 0x0030, 0x00000000, UInt8[0x6c, 0x7a, 0x34, 0x00], 0x000000000004012d, 0x000000000004012d, 0x0000000003fc0100, UInt8[0x95, 0xfd, 0xd5, 0x53, 0x69, 0x08, 0xe1, 0x9f, 0x63, 0xa3, 0x60, 0xda, 0xcd, 0x7a, 0x28, 0x70], false)]))This PR
So, not great, but at least more readable. I'm thinking now it would probably be better to have a
max_rowscut-off by default, and then hand-off more display control to a dedicatedinfofunction like the Python library doesUpdate: Mkay, just added in a simple
infofunction to control how much output to show (full snippet below):ASDF.jl/src/ASDF.jl
Lines 518 to 557 in 21a5c4f
It truncates to 20 lines by default now