Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimal changes to the .DAT file format to avoid storge, bandwidth and processing overheads #4

Open
acardona opened this issue May 20, 2022 · 41 comments

Comments

@acardona
Copy link
Collaborator

At the moment, when I open a .DAT file to read a single image channel, I have to:

  1. Read the whole file with two channels, because their pixels are interleaved. This has costs both in storage (2 channels when we want 1), network transfer, and processing:
    Solution:

    • store the channels sequentially, not interleaved
    • enable acquisition software to store only one channel (to save 50% of space: we never use the second channel).
  2. Deinterleave: transform an e.g., 1 GB array into two 0.5 GB arrays.
    Solution: see (1) above.

  3. Convert from signed 16-bit to unsigned 16-bit, by iterating the whole channel image array twice: once to find the min value, a second time to subtract it from every pixel.
    Solution: store images directly as unsigned 16-bit.

In summary, at the very least enable .DAT format to use 16-bit unsigned, and to store only a single channel. This minimal change would halve our storage and network bandwidth costs, and reduce the post-processing steps by quite a bit.

@d-v-b
Copy link
Collaborator

d-v-b commented May 20, 2022

I agree with all of those issues, but I don't think we should consider modifying the DAT format except as a last resort. I believe the very existence of the DAT format it itself the problem. The features and flexibility you want already exist in a variety of array storage formats (nrrd, hdf5, zarr, even tif), so the FIBSEM devices should just save data in one of those formats. Unfortunately this is not a programming problem but rather a social / organizational one -- the various stakeholders (i.e., lab heads) need to convince those people with power over the FIBSEM acquisition software to use a standard format.

@d-v-b
Copy link
Collaborator

d-v-b commented May 20, 2022

enable acquisition software to store only one channel (to save 50% of space: we never use the second channel).

This would be a huge win for storage. We have also never used the second channel.

@mkitti
Copy link
Collaborator

mkitti commented May 20, 2022

We are not likely to be able change the format saved at acquisition.

That leaves several remaining questions:

  1. Should we transform the data immediately post acquisition?
  2. Should we transform the data as we are transferring the data over the network to another computer or to a cluster?
  3. Should we transform the data once it is highly accessible to a high performance computer cluster?
  4. What should be the archival form of the data be?

I have some ideas for 1 and 2, but we are only really considering 3 and 4 at the moment.

A few months ago @d-v-b's pipeline did involve rolling the axes so that the data in the two channels would be contiguous and not interleaved. However, the current code no longer does this:
janelia-cellmap/fibsem-tools@d62c93d#diff-617ebadd3f040b05f0aff77a6fb09ba4f673b25df064e960061c33a4b40ccabaL619

Perhaps we should consider a metadata attribute that describes the axis order so that if we do decide to roll the axes again, we have a way of indicating that?

@clbarnes
Copy link
Collaborator

clbarnes commented May 22, 2022

If we can't change the format saved at acquisition then IMO the next best thing would be a post-processor which took it from the current format to a single maximally-useful format, reliable enough that we could immediately delete the raw image. Otherwise we're 1.5x-ing our storage costs, not reducing them. Of course, if we're going to have a good, robust, reference implementation of a reader, we may as well make it an importable library as well as a binary, although running with minimal dependencies (or in an apptainer or something) would also be a goal. Certainly in a FOSS runtime.

To me, maximally useful means an HDF5 (stable, widely supported, self-documenting) with a dataset for each channel, where all of the metadata is present (and channel-specific metadata goes on the channel dataset) with explicit, canonical names. This should have as few options as possible to avoid the problem of Thousands of Incompatible File Formats: keep the output consistent and generic. It should be able to drop channels, and maybe add compression as well, but as I understand it the raw images compress very poorly and leaving the data raw may allow us to verify it's all allocated, at least, by checking the size. And raw means it can be memory mapped by other readers.

Immediately post-acquisition would probably be best, so long as the microscope isn't close to saturating the write speed of the kind of disks it's generally used on. If we wait until it's on the cluster, it's too late - getting it there is error-prone and high-speed cluster storage is (in our case) not sufficiently backed up, so we'd need to keep the originals. It's also very light on resources other than IO so there's no real need to do it on HPC, not to mention highly parallelisable.

Either way, a very minor change to the acquisition software which would be very useful would be to write the raw images to a file with some extension indicating that it's a partial file, then rename it as soon as it's done. Then it's much easier to track which files need to be post-processed, backed up, or moved - this is a problem we have already.

@mkitti
Copy link
Collaborator

mkitti commented May 23, 2022

Thanks for the comments @clbarnes .

Regarding HDF5, this is the interface that @d-v-b is currently building:
https://github.com/janelia-cosem/fibsem-tools/blob/master/src/fibsem_tools/io/h5.py

Further enhancements to create a context manager are here. If you would like feel free to review this pull request:
janelia-cellmap/fibsem-tools#24

The approach involves reading in the DAT file using fibsem.py and then writing out a HDF5 file using the above code.
https://github.com/janelia-cosem/fibsem-tools/blob/master/src/fibsem_tools/io/fibsem.py

@mkitti
Copy link
Collaborator

mkitti commented May 23, 2022

A lightweight method that we could pursue involves using an external dataset. In this case, we could create a small HDF5 file containing the attribute metadata and point to the data in the existing DAT file. This avoids duplication of the image data.

https://docs.h5py.org/en/stable/high/dataset.html#h5py.Dataset.external
https://portal.hdfgroup.org/display/HDF5/H5P_SET_EXTERNAL

I recently added support for H5P_SET_EFILE_PREFIX to h5py. This makes it easier to locate the DAT file, including making it relative to the HDF5 file by using $ORIGIN.
h5py/h5py#2092

@acardona
Copy link
Collaborator Author

When imaging tens of terabytes one wants to minimize friction in the system. Not changing the LabView code and having a handler software that transforms the data seems like an unnecessary overhead.

We have the source code and the ability to change it: I can't see why not add a switch to not store the second channel, which immediately solves both the excess storage and the interleaved problem, and then another switch to save as unsigned 16-bit data type as opposed to signed like it does now. That alone would address all my concerns while maintaining backwards (and forward) compatibility with further additions to the DAT writer software.

@d-v-b
Copy link
Collaborator

d-v-b commented May 24, 2022

We have the source code and the ability to change it: I can't see why not add a switch to not store the second channel, which immediately solves both the excess storage and the interleaved problem, and then another switch to save as unsigned 16-bit data type as opposed to signed like it does now. That alone would address all my concerns while maintaining backwards (and forward) compatibility with further additions to the DAT writer software.

If you can safely make these changes to the software (perhaps you have someone who knows labview well enough to do it, and there are no concerns about potential compatibility issues if Shan makes upstream changes to the acquisition software), then there is no reason to use DAT anymore -- just add an option to save as NRRD or hdf5 or zarr, with the "skip the second channel" and "save as uint16" features included. This would be the ideal outcome, and if this works for you perhaps we could convince the operators of our own FIB-SEM devices to use these changes.

@mkitti
Copy link
Collaborator

mkitti commented May 24, 2022

@acardona, sorry if there is a misunderstanding, but we do not have the ability to modify the code that runs on our microscopes at the moment despite having this source code. We are currently limited to post processing only.

Perhaps @avweigel or @StephanPreibisch can explain the current situation in more detail?

For the moment, we can try to formulate what our desired outcome is. From both of your comments, this is perhaps a HDF5 file where we have split the channels into two datasets or perhaps even drop one of the channels. This then gives us access to tools such as HDF5-JSON in order to produce easy to access files.

We may hold off on dropping the channel for the moment because we would also like to prove that we can do a round trip from DAT to HDF5 and back to DAT again. After demonstrating this we will be able to erase the DAT files.

@acardona
Copy link
Collaborator Author

perhaps we could convince the operators of our own FIB-SEM devices to use these changes.

In the past I have found Shan Xu to be responsive to user feedback. Will try to ask him directly now.

@mkitti
Copy link
Collaborator

mkitti commented May 24, 2022

I'm not clear if Shan remains in the operative decision hierarchy although I would still appreciate his comments.

Before trying to convince others, we should fully determine what is the minimum acceptable engineering target for the file format and specification.

  1. Will a simple HDF5 file with contiguous datasets work for everyone?
  2. Do we all agree that the the channels should be split into two contiguous datasets that can be easily memory mapped?
  3. Can we agree on adopting @clbarnes 's attribute names for the HDF5 file?

Once we can agree on a spec, we can then start with post-acquisition software. From there we can see if we can optimize the process and/or move some of the process up the data stream.

A major hurdle in making changes to the acquisition software is that it is unclear what needs to be done if anything. The benefits to the Hess lab are unclear. What makes it necessary to do this during acquisition or near acquisition?

@clbarnes
Copy link
Collaborator

clbarnes commented May 24, 2022

  1. Good for me, will make things easier across languages so we should only need 1 implementation of this dat
  2. Yes please
  3. I would recommend someone who actually understands the microscopes looks over them because I made a few inferences I'm not confident of

As an aside, I have been playing around today and made some progress, on this branch clbarnes/jfibsem_dat#10:

Using @d-v-b's code, I produced a spec for each header version as a simple TSV, which looks like this

name	dtype	offset	shape
FileMagicNum	>u4	0	0
FileVersion	>u2	4	0
FileType	>u2	6	0
SWdate	>S10	8	0
TimeStep	>f8	24	0
ChanNum	>u1	32	0
EightBit	>u1	33	0

This is A) a good reference for anyone of any language and can easily be checked by non-developers, B) very easy to diff without language-specific stuff getting in the way, C) means that all versions can be supported in <100 lines (of python), with new versions simply a case of adding a new TSV to a folder. Using this, I can roundtrip the metadata to a python dict, and with another 20 lines, roundtrip through HDF5 attributes for a byte-identical output, theoretically for any current or future header version (I only have v8 to test on). Small, simple, maintainable; and non-developers could even update the spec themselves in excel or whatever. My vision would be that those TSVs live in a repo which is used as a git submodule by implementations using them.

This low-level representation could also easily be used to generate code for a higher-level representation (with type checking etc.) or for less dynamic languages.

I can also successfully round-trip the data array through HDF5, although it requires what I can only assume are a bunch of copies due to h5py normalising byte and/or axis orders.

Byte-identity on the whole file may not be possible because some dat files seem to have a post-array footer which I haven't seen any documentation for, although I suppose that could just be dumped into the HDF5 metadata as an array of uint8 and treated specially. But the metadata+data portion of it is going fine.

The benefits to the Hess lab are unclear.

The very nature of collaborative research means that everyone benefits from people using open standards and tools. Sometimes formats don't exist to represent what you need. That is clearly not the case here - HDF5 does exactly what we need and more, and has well-supported implementations for just about every language anyone might want to use, including for HPC access.

If the concept of open science is not enough to sway them, then perhaps "you would have saved yourself the time of every conversation you've ever had about this file format, past present and future" would?

@mkitti
Copy link
Collaborator

mkitti commented May 24, 2022

@clbarnes I did prototype a Julia struct for fun based on the v9 header:
https://github.com/mkitti/FIBSEMHeaders.jl/blob/main/src/FIBSEMHeaders.jl#L5

One difference is that I also added spacer fields to also ingest any spare bytes between the existing fields. Because of the spacer fields, I do not have to directly encode the offsets. They can derived from the size of the field types.

A complication that I found is that the in-memory representation of the struct may be different from byte offsets due to data structure alignment issues.

@d-v-b
Copy link
Collaborator

d-v-b commented May 24, 2022

In the past I have found Shan Xu to be responsive to user feedback. Will try to ask him directly now.

That's a great idea, thank you. He is in the best position to add hdf5 writing support, and hopefully if he hears from enough people then it will be clear how valuable the effort is to people processing the data downstream.

Before trying to convince others, we should fully determine what is the minimum acceptable engineering target for the file format and specification.

Hard disagree. We are not grappling with a computer science / programming problem. We know that any number of standard formats for array data + metadata will work here, and the details can be hashed out once any one of those formats is picked. Instead, this is a social engineering problem ("how can we get someone who knows labview to implement hdf5 writing in the FIBSEM software") and perhaps it is impossible, or at least beyond our power.

@d-v-b
Copy link
Collaborator

d-v-b commented May 24, 2022

If our efforts to change the labview code fail, then I second the effort to specify a language-agnostic definition of the dat header (for each version).

@mkitti
Copy link
Collaborator

mkitti commented May 24, 2022

how can we get someone who knows labview to implement hdf5 writing in the FIBSEM software

@d-v-b , I already prototyped this and talked this through with Dan. I have a LabView module that can write a HDF5 file with the HDF5 library. This is not the problem.
image

@d-v-b
Copy link
Collaborator

d-v-b commented May 24, 2022

Writing labview code is not the same as implementing it in the FIBSEM software

@mkitti
Copy link
Collaborator

mkitti commented May 24, 2022

This is integrated in the FIBSEM software. See that "SW Date" with the globe. That's pulling a global variable out of the FIBSEM software.

@mkitti
Copy link
Collaborator

mkitti commented May 24, 2022

Since we're talking about contacting Shan (who was also invited to this repo), here's my last correspondence with him.

From: Xu, C. Shan <[email protected]>
Sent: Friday, April 22, 2022 21:58
To: Kittisopikul, Mark Andrew <[email protected]>
Subject: Re: FileLength vs array data offset

Hi Mark,

I think it is up to the person who wants to maintain the software going forward. 😊 Just make sure to communicate with others who will process the data.

Thanks,
Shan

From: Kittisopikul, Mark Andrew <[email protected]>
Date: Friday, April 22, 2022 at 8:35 PM
To: Xu, C. Shan <[email protected]>
Subject: FileLength vs array data offset
Hi Shan,

Thank you for the tour today through the LabView code. I can see the code encompasses many years of experience and engineering.

In the dat files, I noticed that the array data is always assumed to start at byte 1024 and end at FileLength (provided at byte 1000), where recipe information may be stored. In other contexts, I found it useful to encode the start of the array data explicitly which allows for the expansion of the header if needed. For example, I could foresee new microscope systems needing a distinct set of attributes separate from the ones currently used.

One approach might be to calculate the start of the array data from “FileLength” rather than assume the array data starts at byte 1024. Another approach would be to encode the array data start location within the header, perhaps at byte 992. Of course, one could do both and verify the two numbers are consistent with the array size.

Do you prefer one approach over the other?

Thanks again and have a nice weekend,
-Mark

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

Here is the comment within the LabView source code that describes what all these attributes are.

From "Zeiss File Header Tclk.vi":

Tracking File Headers:
BLN: boolean (1 byte)
U8: unsigned 8-bit (1 byte)
U16: unsigned short (2 bytes)
U32: unsigned long (4 bytes)
DBL: double (8 bytes)
I16: signed short (2 bytes)
I32: signed long (4 bytes)

Byte	      Type	  Significance
0             U32         Magic Number, should be 0xd3edf5f2 (3555587570)
4             U16         Version number (9)
6             U16         File type. 1: SEM image
8             STR         SW date
24            DBL         AI sampling time increment
32            U8          Number of channels
33            BLN         8-bit data
36            SGL         AI device scaling coefficients or 8-bit conversion coefficients (Io and k)
68            U8          Restart flag
69            U8          Stage move flag
70            I32         X coordinate of the first pixel
74            I32         Y coordinate of the first pixel

100          U32        X resolution
104          U32        Y resolution
108          U16        AI oversampling     
111          U8         Scan speed (Zeiss #)
112          SGL        Actual AO (scanning) rate
116          SGL        Frame line rampdown ratio
120          SGL        X min (V)
124          SGL        X max (V)
128          SGL        Det min (V)
132          SGL        Det max (V)
136          U16        Decimating factor 

151          BLN        AI Ch1          
152          BLN        AI Ch2
153          BLN        AI Ch3
154          BLN        AI Ch4
 
155          STR        Sample ID
180          STR        Notes

SEM parameters
380          STR        Detector A
390          STR        Detector B
410          STR        Detector C
430          STR        Detector D

460          SGL        Magnification
464          SGL        Pixel size (nm)
468          SGL        Working distance (mm)
472          SGL        EHT (kV)
480          U8         Aperture number
481          U8         High current mode
490          SGL        Probe current (A)
494          SGL        Scan rotation (deg)
498          SGL        Chamber vacuum (Torr)
502          SGL        Gun vacuum (Torr)
510          SGL        Beam shift X
514          SGL        Beam shift Y
518          SGL        Stigmation X
522          SGL        Stigmation Y
526          SGL        Aperture aligment X
530          SGL        Aperture aligment Y
534          SGL        Stage X (mm)
538          SGL        Stage Y (mm)
542          SGL        Stage Z (mm)
546          SGL        Stage T (deg)
550          SGL        Stage R (deg)
554          SGL        Stage M (mm)
560          SGL        Brightness (%), detector A
564          SGL        Contrast (%),  detector A
568          SGL        Brightness (%), detector B
572          SGL        Contrast (%),  detector B


FIB parameters
600          U8         Mode
604          SGL        Focus (V)
608          U8         Probe current number
620          SGL        Emission current (A)
624          SGL        rotation (deg)
628          SGL        Aperture alignment X
632          SGL        Aperture alignment Y
636          SGL        Stigmation X
640          SGL        Stigmation Y
644          SGL        Beam shift X (um)
648          SGL        Beam shift Y (um)


Milling parameters
652          U32        X resolution
656          U32        Y resolution
660          SGL        X size (um)
664          SGL        Y size (um)
668          SGL        UL-Ang (deg)
672          SGL        UR-Ang (deg)
676          SGL        Line milling time (s)
680          SGL        FIB FOV (um)
684          U16        Lines auto pause
686          BLN       FIB PID on
689          U8          FIB PID measured (0: specimen, 1: beam dump)
690          SGL        FIB PID target
694          SGL        FIB PID target slope
698          SGL        FIB PID P
702          SGL        FIB PID I
706          SGL        FIB PID D


800          STR        Machine ID

850          SGL        Temperature (F)
854          SGL        Faraday cup current (nA)
858          SGL        Specimen current during FIB (nA)
862          SGL        Beam dump 1 current (nA)
866          SGL        Specimen current during SEM (nA)
870          SGL        Milling Z voltage (V)
874          SGL        Focus index
878          U32        FIB slice #
882          SGL        Beam dump 2 current (nA)
886          SGL        Milling current (nA)

1000        DBL        File length, position for the beginning of recipe variant

1024        I16          1-D array of n channels of unscaled measurement from DAQ

Zeiss_File_Header_Tclkd

@clbarnes
Copy link
Collaborator

clbarnes commented May 25, 2022

Here is the comment within the LabView source code that describes what all these attributes are.

Ah! That's basically what's been missing. To make doubly sure, everything is byte-bigendian and bit-littleendian, SGL is a 32-bit float, STR is a null-padded ASCII string assumed to continue until the next byte offset, and SWDate is encoded as "DD/MM/YYYY" (switching this to ISO-8601 would be great). IIRC FIB mode and Milling PID measured are a enums - what are the meanings of the possible values?

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

The screenshot above is from "Zeiss File Header Tclk.vi":

The context help for these functions may be helpful in understanding the above.

Write to Binary File:
image
https://www.ni.com/docs/en-US/bundle/labview/page/glang/write_file.html

Set File Position:
image
https://www.ni.com/docs/en-US/bundle/labview/page/glang/set_file_position.html

To make doubly sure, everything is byte-bigendian and bit-littleendian

Yes. The default for "Write to Binary File" is "big-endian, network order".

SGL is a 32-bit float

Yes. See https://www.ni.com/docs/en-US/bundle/labview/page/lvhowto/floating_point_numbers.html

STR is a null-padded ASCII string assumed to continue until the next byte offset

Correct

SWDate is encoded as "DD/MM/YYYY" (switching this to ISO-8601 would be great)

I am not sure where this is coming from at the moment. It is possible this date is being manually entered or is in an INI file.

FIB mode ... is an enum

  1. SEM
  2. FIB
  3. Milling
  4. SEM + FIB
  5. Mill + SEM
  6. SEM Drift Correction
  7. FIB Drift Correction
  8. No Beam
  9. External
  10. External + SEM

image

image

Milling PID measured

This is internally "FIB PID measured"

  1. Spec.
  2. B.D. 1
  3. B.D. 2
  4. Mill
  5. Spec. +

image

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

@acardona During our Zoom meeting, one item you brought up was if the attributes could be read as text.

There is a tool hdf5json from The HDF Group that facilitates this. Here I used the "-d option" to only dump attributes and not the dataset values to JSON.

$ pip install h5json
$ python3 h5tojson.py -d Merlin-6257_21-05-20_125527.h5 > Merlin-6257_21-05-20_125527.json
Partial JSON dump of prototype HDF5 file
{
    "apiVersion": "1.1.1",
    "datasets": {
        "bef343f4-dc54-11ec-b49e-0050568f771f": {
            "alias": [
                "/0-0-0"
            ],
            "attributes": [
                {
                    "name": "AI1",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI2",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
  ...
                {
                    "name": "Restart",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "SEMAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4631574153900146
                },
                {
                    "name": "SEMAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.844007968902588
                },
                {
                    "name": "SEMApr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 30
                },
                {
                    "name": "SEMCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.000000026176508e-09
                },
                {
                    "name": "SEMRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -0.0
                },
                {
                    "name": "SEMSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMSpecimenICurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -1.7317256927490234
                },
                {
                    "name": "SEMStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.7686651945114136
                },
                {
                    "name": "SEMStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.5602626204490662
                },
                {
                    "name": "SWdate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "04/20/2021"
                },
                {
                    "name": "SampleID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18"
                },
                {
                    "name": "Scaling",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            2,
                            4
                        ]
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": [
                        [
                            2000000.0,
                            -6105.67529296875,
                            0.5854036211967468,
                            0.07999999821186066
                        ],
                        [
                            2000000.0,
                            -5383.72119140625,
                            0.02265683189034462,
                            2.0
                        ]
                    ]
                },
                {
                    "name": "ScanRate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3125000.0
                },
                {
                    "name": "StageM",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageMove",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "StageR",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 198.97982788085938
                },
                {
                    "name": "StageT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 63.375003814697266
                },
                {
                    "name": "StageY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 64.87300872802734
                },
                {
                    "name": "StageZ",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 29.950000762939453
                },
                {
                    "name": "Temperature",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 72.5
                },
                {
                    "name": "TimeStep",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 4e-08
                },
                {
                    "name": "WD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.5221710205078125
                },
                {
                    "name": "XResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 7437
                },
                {
                    "name": "Xmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -2.664947986602783
                },
                {
                    "name": "Xmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -5.469804763793945
                },
                {
                    "name": "YResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3500
                },
                {
                    "name": "ZeissScanSpeed",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                }
            ],
            "creationProperties": {
                "allocTime": "H5D_ALLOC_TIME_INCR",
                "fillTime": "H5D_FILL_TIME_ALLOC",
                "filters": [
                    {
                        "class": "H5Z_FILTER_USER",
                        "id": 32001,
                        "name": "blosc",
                        "parameters": [
                            2,
                            2,
                            2,
                            52059000,
                            9,
                            2,
                            5
                        ]
                    }
                ],
                "layout": {
                    "class": "H5D_CHUNKED",
                    "dims": [
                        1,
                        3500,
                        7437
                    ]
                }
            },
            "shape": {
                "class": "H5S_SIMPLE",
                "dims": [
                    2,
                    3500,
                    7437
                ]
            },
            "type": {
                "base": "H5T_STD_I16BE",
                "class": "H5T_INTEGER"
            }
        },
        "bef36780-dc54-11ec-b49e-0050568f771f": {
            "alias": [
                "/0-0-1"
            ],
            "attributes": [
                {
                    "name": "AI1",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI2",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI3",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "AI4",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "BeamDump1I",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4829021692276
                },
                {
                    "name": "BeamDump2I",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.4120490550994873
                },
                {
                    "name": "BrightnessA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 30.0
                },
                {
                    "name": "BrightnessB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 30.0
                },
                {
                    "name": "ChamVac",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.1488278295910277e-07
                },
                {
                    "name": "ChanNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 2
                },
                {
                    "name": "ContrastA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 26.0
                },
                {
                    "name": "ContrastB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 38.0
                },
                {
                    "name": "DecimatingFactor",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 14
                },
                {
                    "name": "DetA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "InLens"
                },
                {
                    "name": "DetB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "ESB @ 600 V"
                },
                {
                    "name": "DetC",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Detector C"
                },
                {
                    "name": "DetD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Detector D"
                },
                {
                    "name": "Detmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 10.0
                },
                {
                    "name": "Detmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -10.0
                },
                {
                    "name": "EHT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.2000000476837158
                },
                {
                    "name": "EightBit",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "FIBAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 22055.0
                },
                {
                    "name": "FIBAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2640.0
                },
                {
                    "name": "FIBCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.495361328125
                },
                {
                    "name": "FIBFOV",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 500.0
                },
                {
                    "name": "FIBFocus",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 14080.0
                },
                {
                    "name": "FIBProb",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 15
                },
                {
                    "name": "FIBRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBSliceNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 16670
                },
                {
                    "name": "FIBSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 28.734291076660156
                },
                {
                    "name": "FIBStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 15.000000953674316
                },
                {
                    "name": "FIBStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -17.0
                },
                {
                    "name": "FaradayCupI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 14.4482421875
                },
                {
                    "name": "FileLength",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 104119024
                },
                {
                    "name": "FileMagicNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3555587570
                },
                {
                    "name": "FileType",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "FileVersion",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 9
                },
                {
                    "name": "FirstX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": -7315
                },
                {
                    "name": "FirstY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": -3073
                },
                {
                    "name": "FocusIndex",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.0405718088150024
                },
                {
                    "name": "FramelineRampdownRatio",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.10000000149011612
                },
                {
                    "name": "GunVac",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 5.238325884171502e-10
                },
                {
                    "name": "HighCurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "MachineID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Jeiss3/Merlin-6257"
                },
                {
                    "name": "Mag",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 381.131103515625
                },
                {
                    "name": "MillingI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 12.994636535644531
                },
                {
                    "name": "MillingLineTime",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 20.5
                },
                {
                    "name": "MillingLinesPerImage",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "MillingPIDD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "MillingPIDI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.009999999776482582
                },
                {
                    "name": "MillingPIDMeasured",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                },
                {
                    "name": "MillingPIDOn",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "MillingPIDP",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0010000000474974513
                },
                {
                    "name": "MillingPIDTarget",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 13.0
                },
                {
                    "name": "MillingPIDTargetSlope",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "MillingULAng",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 89.0
                },
                {
                    "name": "MillingURAng",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 91.0
                },
                {
                    "name": "MillingXResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 4096
                },
                {
                    "name": "MillingXSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 336.0
                },
                {
                    "name": "MillingYResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 46251
                },
                {
                    "name": "MillingYSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 370.0
                },
                {
                    "name": "MillingYVoltage",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.13248591125011444
                },
                {
                    "name": "Mode",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "Notes",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
                },
                {
                    "name": "Oversampling",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 8
                },
                {
                    "name": "PixelSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 7.999856948852539
                },
                {
                    "name": "RawHeader",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            1024
                        ]
                    },
                    "type": {
                        "base": "H5T_STD_U8LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": [
                        211,
                        237,
                        245,
                        242,
                        0,
                        9,
                        0,
                        1,
                        48,
                        52,
                        47,
                        50,
                        48,
                        47,
                        50,
                        48,
                        50,
                        49,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        62,
                        101,
                        121,
                        142,
                        226,
                        48,
                        140,
                        58,
                        2,
                        0,
                        0,
                        0,
                        73,
                        244,
                        36,
                        0,
                        197,
                        190,
                        205,
                        103,
                        63,
                        21,
                        221,
                        3,
                        61,
                        163,
                        215,
                        10,
                        73,
                        244,
                        36,
                        0,
                        197,
                        168,
                        61,
                        197,
                        60,
                        185,
                        154,
                        210,
                        64,
                        0,
                        0,
                        0,
                        0,
                        0,
                        255,
                        255,
                        227,
                        109,
                        255,
                        255,
                        243,
                        255,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        29,
                        13,
                        0,
                        0,
                        13,
                        172,
                        0,
                        8,
                        0,
                        3,
                        74,
                        62,
                        188,
                        32,
                        61,
                        204,
                        204,
                        205,
                        192,
                        175,
                        8,
                        164,
                        192,
                        42,
                        142,
                        130,
                        193,
                        32,
                        0,
                        0,
                        65,
                        32,
                        0,
                        0,
                        0,
                        14,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        1,
                        1,
                        0,
                        0,
                        90,
                        48,
                        55,
                        50,
                        48,
                        45,
                        48,
                        55,
                        109,
                        95,
                        66,
                        82,
                        95,
                        83,
                        101,
                        99,
                        49,
                        56,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        90,
                        48,
                        55,
                        50,
                        48,
                        45,
                        48,
                        55,
                        109,
                        95,
                        66,
                        82,
                        95,
                        83,
                        101,
                        99,
                        49,
                        56,
                        44,
                        32,
                        66,
                        70,
                        32,
                        51,
                        51,
                        54,
                        120,
                        49,
                        50,
                        49,
                        117,
                        109,
                        44,
                        32,
                        50,
                        53,
                        46,
                        48,
                        115,
                        32,
                        64,
                        49,
                        51,
                        46,
                        48,
                        110,
                        65,
                        32,
                        47,
                        56,
                        110,
                        109,
                        32,
                        64,
                        49,
                        53,
                        110,
                        65,
                        45,
                        52,
                        44,
                        32,
                        108,
                        101,
                        110,
                        115,
                        50,
                        32,
                        49,
                        52,
                        49,
                        51,
                        48,
                        45,
                        53,
                        48,
                        86,
                        32,
                        61,
                        32,
                        49,
                        52,
                        48,
                        56,
                        48,
                        86,
                        44,
                        32,
                        98,
                        105,
                        97,
                        115,
                        32,
                        48,
                        86,
                        44,
                        32,
                        100,
                        101,
                        102,
                        108,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        45,
                        50,
                        48,
                        48,
                        86,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        73,
                        110,
                        76,
                        101,
                        110,
                        115,
                        0,
                        0,
                        0,
                        0,
                        69,
                        83,
                        66,
                        32,
                        64,
                        32,
                        54,
                        48,
                        48,
                        32,
                        86,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        68,
                        101,
                        116,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        67,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        68,
                        101,
                        116,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        68,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        67,
                        190,
                        144,
                        200,
                        64,
                        255,
                        254,
                        212,
                        64,
                        97,
                        97,
                        215,
                        63,
                        153,
                        153,
                        154,
                        0,
                        0,
                        0,
                        0,
                        30,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        49,
                        78,
                        40,
                        143,
                        0,
                        0,
                        0,
                        0,
                        52,
                        169,
                        13,
                        41,
                        48,
                        15,
                        253,
                        113,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        128,
                        0,
                        0,
                        0,
                        63,
                        223,
                        212,
                        92,
                        63,
                        20,
                        40,
                        7,
                        63,
                        187,
                        72,
                        190,
                        64,
                        54,
                        4,
                        58,
                        66,
                        125,
                        128,
                        1,
                        66,
                        129,
                        190,
                        251,
                        65,
                        239,
                        153,
                        154,
                        0,
                        0,
                        0,
                        0,
                        67,
                        70,
                        250,
                        214,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        65,
                        240,
                        0,
                        0,
                        65,
                        208,
                        0,
                        0,
                        65,
                        240,
                        0,
                        0,
                        66,
                        24,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        70,
                        92,
                        0,
                        0,
                        15,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        63,
                        191,
                        104,
                        0,
                        0,
                        0,
                        0,
                        0,
                        70,
                        172,
                        78,
                        0,
                        69,
                        37,
                        0,
                        0,
                        65,
                        112,
                        0,
                        1,
                        193,
                        136,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        16,
                        0,
                        0,
                        0,
                        180,
                        171,
                        67,
                        168,
                        0,
                        0,
                        67,
                        185,
                        0,
                        0,
                        66,
                        178,
                        0,
                        0,
                        66,
                        182,
                        0,
                        0,
                        65,
                        164,
                        0,
                        0,
                        67,
                        250,
                        0,
                        0,
                        0,
                        1,
                        1,
                        0,
                        0,
                        3,
                        65,
                        80,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        58,
                        131,
                        18,
                        111,
                        60,
                        35,
                        215,
                        10,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        74,
                        101,
                        105,
                        115,
                        115,
                        51,
                        47,
                        77,
                        101,
                        114,
                        108,
                        105,
                        110,
                        45,
                        54,
                        50,
                        53,
                        55,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        66,
                        145,
                        0,
                        0,
                        65,
                        103,
                        44,
                        0,
                        65,
                        229,
                        223,
                        212,
                        63,
                        189,
                        207,
                        189,
                        191,
                        224,
                        53,
                        162,
                        62,
                        7,
                        170,
                        99,
                        63,
                        133,
                        49,
                        117,
                        0,
                        0,
                        65,
                        30,
                        64,
                        26,
                        95,
                        3,
                        65,
                        79,
                        234,
                        8,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        6,
                        52,
                        186,
                        240,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ]
                },
                {
                    "name": "Restart",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "SEMAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4631574153900146
                },
                {
                    "name": "SEMAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.844007968902588
                },
                {
                    "name": "SEMApr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 30
                },
                {
                    "name": "SEMCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.000000026176508e-09
                },
                {
                    "name": "SEMRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -0.0
                },
                {
                    "name": "SEMSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMSpecimenICurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -1.7516367435455322
                },
                {
                    "name": "SEMStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.7486681938171387
                },
                {
                    "name": "SEMStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.5787357687950134
                },
                {
                    "name": "SWdate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "04/20/2021"
                },
                {
                    "name": "SampleID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18"
                },
                {
                    "name": "Scaling",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            2,
                            4
                        ]
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": [
                        [
                            2000000.0,
                            -6105.67529296875,
                            0.5854036211967468,
                            0.07999999821186066
                        ],
                        [
                            2000000.0,
                            -5383.72119140625,
                            0.02265683189034462,
                            2.0
                        ]
                    ]
                },
                {
                    "name": "ScanRate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3125000.0
                },
                {
                    "name": "StageM",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageMove",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "StageR",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 198.97982788085938
                },
                {
                    "name": "StageT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 63.375003814697266
                },
                {
                    "name": "StageY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 64.87300872802734
                },
                {
                    "name": "StageZ",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 29.950000762939453
                },
                {
                    "name": "Temperature",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 72.5
                },
                {
                    "name": "TimeStep",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 4e-08
                },
                {
                    "name": "WD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.521596670150757
                },
                {
                    "name": "XResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 7437
                },
                {
                    "name": "Xmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -2.664947986602783
                },
                {
                    "name": "Xmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -5.469804763793945
                },
                {
                    "name": "YResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3500
                },
                {
                    "name": "ZeissScanSpeed",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                }
            ],
            "creationProperties": {
                "allocTime": "H5D_ALLOC_TIME_INCR",
                "fillTime": "H5D_FILL_TIME_ALLOC",
                "filters": [
                    {
                        "class": "H5Z_FILTER_USER",
                        "id": 32001,
                        "name": "blosc",
                        "parameters": [
                            2,
                            2,
                            2,
                            52059000,
                            9,
                            2,
                            5
                        ]
                    }
                ],
                "layout": {
                    "class": "H5D_CHUNKED",
                    "dims": [
                        1,
                        3500,
                        7437
                    ]
                }
            },
            "shape": {
                "class": "H5S_SIMPLE",
                "dims": [
                    2,
                    3500,
                    7437
                ]
            },
            "type": {
                "base": "H5T_STD_I16BE",
                "class": "H5T_INTEGER"
            }
        },
        "bef3881e-dc54-11ec-b49e-0050568f771f": {
            "alias": [
                "/0-0-2"
            ],
            "attributes": [
                {
                    "name": "AI1",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI2",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI3",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "AI4",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "BeamDump1I",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4829021692276
                },
                {
                    "name": "BeamDump2I",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.4120490550994873
                },
                {
                    "name": "BrightnessA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 30.0
                },
                {
                    "name": "BrightnessB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 30.0
                },
                {
                    "name": "ChamVac",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.1469843975173717e-07
                },
                {
                    "name": "ChanNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 2
                },
                {
                    "name": "ContrastA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 26.0
                },
                {
                    "name": "ContrastB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 38.0
                },
                {
                    "name": "DecimatingFactor",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 14
                },
                {
                    "name": "DetA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "InLens"
                },
                {
                    "name": "DetB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "ESB @ 600 V"
                },
                {
                    "name": "DetC",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Detector C"
                },
                {
                    "name": "DetD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Detector D"
                },
                {
                    "name": "Detmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 10.0
                },
                {
                    "name": "Detmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -10.0
                },
                {
                    "name": "EHT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.2000000476837158
                },
                {
                    "name": "EightBit",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "FIBAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 22055.0
                },
                {
                    "name": "FIBAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2640.0
                },
                {
                    "name": "FIBCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4892578125
                },
                {
                    "name": "FIBFOV",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 500.0
                },
                {
                    "name": "FIBFocus",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 14080.0
                },
                {
                    "name": "FIBProb",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 15
                },
                {
                    "name": "FIBRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBSliceNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 16670
                },
                {
                    "name": "FIBSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 28.734291076660156
                },
                {
                    "name": "FIBStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 15.000000953674316
                },
                {
                    "name": "FIBStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -17.0
                },
                {
                    "name": "FaradayCupI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 14.4482421875
                },
                {
                    "name": "FileLength",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 104119024
                },
                {
                    "name": "FileMagicNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3555587570
                },
                {
                    "name": "FileType",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "FileVersion",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 9
                },
                {
                    "name": "FirstX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": -128
                },
                {
                    "name": "FirstY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": -3073
                },
                {
                    "name": "FocusIndex",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.2679680585861206
                },
                {
                    "name": "FramelineRampdownRatio",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.10000000149011612
                },
                {
                    "name": "GunVac",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 5.238325884171502e-10
                },
                {
                    "name": "HighCurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "MachineID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Jeiss3/Merlin-6257"
                },
                {
                    "name": "Mag",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 381.131103515625
                },
                {
                    "name": "MillingI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 12.994636535644531
                },
                {
                    "name": "MillingLineTime",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 20.5
                },
                {
                    "name": "MillingLinesPerImage",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "MillingPIDD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "MillingPIDI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.009999999776482582
                },
                {
                    "name": "MillingPIDMeasured",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                },
                {
                    "name": "MillingPIDOn",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "MillingPIDP",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0010000000474974513
                },
                {
                    "name": "MillingPIDTarget",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 13.0
                },
                {
                    "name": "MillingPIDTargetSlope",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "MillingULAng",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 89.0
                },
                {
                    "name": "MillingURAng",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 91.0
                },
                {
                    "name": "MillingXResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 4096
                },
                {
                    "name": "MillingXSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 336.0
                },
                {
                    "name": "MillingYResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 46251
                },
                {
                    "name": "MillingYSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 370.0
                },
                {
                    "name": "MillingYVoltage",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.13248591125011444
                },
                {
                    "name": "Mode",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "Notes",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
                },
                {
                    "name": "Oversampling",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 8
                },
                {
                    "name": "PixelSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 7.999856948852539
                },
                {
                    "name": "RawHeader",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            1024
                        ]
                    },
                    "type": {
                        "base": "H5T_STD_U8LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": [
                        211,
                        237,
                        245,
                        242,
                        0,
                        9,
                        0,
                        1,
                        48,
                        52,
                        47,
                        50,
                        48,
                        47,
                        50,
                        48,
                        50,
                        49,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        62,
                        101,
                        121,
                        142,
                        226,
                        48,
                        140,
                        58,
                        2,
                        0,
                        0,
                        0,
                        73,
                        244,
                        36,
                        0,
                        197,
                        190,
                        205,
                        103,
                        63,
                        21,
                        221,
                        3,
                        61,
                        163,
                        215,
                        10,
                        73,
                        244,
                        36,
                        0,
                        197,
                        168,
                        61,
                        197,
                        60,
                        185,
                        154,
                        210,
                        64,
                        0,
                        0,
                        0,
                        0,
                        0,
                        255,
                        255,
                        255,
                        128,
                        255,
                        255,
                        243,
                        255,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        29,
                        13,
                        0,
                        0,
                        13,
                        172,
                        0,
                        8,
                        0,
                        3,
                        74,
                        62,
                        188,
                        32,
                        61,
                        204,
                        204,
                        205,
                        192,
                        175,
                        8,
                        164,
                        192,
                        42,
                        142,
                        130,
                        193,
                        32,
                        0,
                        0,
                        65,
                        32,
                        0,
                        0,
                        0,
                        14,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        1,
                        1,
                        0,
                        0,
                        90,
                        48,
                        55,
                        50,
                        48,
                        45,
                        48,
                        55,
                        109,
                        95,
                        66,
                        82,
                        95,
                        83,
                        101,
                        99,
                        49,
                        56,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        90,
                        48,
                        55,
                        50,
                        48,
                        45,
                        48,
                        55,
                        109,
                        95,
                        66,
                        82,
                        95,
                        83,
                        101,
                        99,
                        49,
                        56,
                        44,
                        32,
                        66,
                        70,
                        32,
                        51,
                        51,
                        54,
                        120,
                        49,
                        50,
                        49,
                        117,
                        109,
                        44,
                        32,
                        50,
                        53,
                        46,
                        48,
                        115,
                        32,
                        64,
                        49,
                        51,
                        46,
                        48,
                        110,
                        65,
                        32,
                        47,
                        56,
                        110,
                        109,
                        32,
                        64,
                        49,
                        53,
                        110,
                        65,
                        45,
                        52,
                        44,
                        32,
                        108,
                        101,
                        110,
                        115,
                        50,
                        32,
                        49,
                        52,
                        49,
                        51,
                        48,
                        45,
                        53,
                        48,
                        86,
                        32,
                        61,
                        32,
                        49,
                        52,
                        48,
                        56,
                        48,
                        86,
                        44,
                        32,
                        98,
                        105,
                        97,
                        115,
                        32,
                        48,
                        86,
                        44,
                        32,
                        100,
                        101,
                        102,
                        108,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        45,
                        50,
                        48,
                        48,
                        86,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        73,
                        110,
                        76,
                        101,
                        110,
                        115,
                        0,
                        0,
                        0,
                        0,
                        69,
                        83,
                        66,
                        32,
                        64,
                        32,
                        54,
                        48,
                        48,
                        32,
                        86,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        68,
                        101,
                        116,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        67,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        68,
                        101,
                        116,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        68,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        67,
                        190,
                        144,
                        200,
                        64,
                        255,
                        254,
                        212,
                        64,
                        97,
                        110,
                        27,
                        63,
                        153,
                        153,
                        154,
                        0,
                        0,
                        0,
                        0,
                        30,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        49,
                        78,
                        40,
                        143,
                        0,
                        0,
                        0,
                        0,
                        52,
                        168,
                        243,
                        211,
                        48,
                        15,
                        253,
                        113,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        128,
                        0,
                        0,
                        0,
                        63,
                        228,
                        162,
                        160,
                        63,
                        34,
                        82,
                        180,
                        63,
                        187,
                        72,
                        190,
                        64,
                        54,
                        4,
                        58,
                        66,
                        125,
                        128,
                        1,
                        66,
                        129,
                        190,
                        251,
                        65,
                        239,
                        153,
                        154,
                        0,
                        0,
                        0,
                        0,
                        67,
                        70,
                        250,
                        214,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        65,
                        240,
                        0,
                        0,
                        65,
                        208,
                        0,
                        0,
                        65,
                        240,
                        0,
                        0,
                        66,
                        24,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        70,
                        92,
                        0,
                        0,
                        15,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        63,
                        190,
                        160,
                        0,
                        0,
                        0,
                        0,
                        0,
                        70,
                        172,
                        78,
                        0,
                        69,
                        37,
                        0,
                        0,
                        65,
                        112,
                        0,
                        1,
                        193,
                        136,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        16,
                        0,
                        0,
                        0,
                        180,
                        171,
                        67,
                        168,
                        0,
                        0,
                        67,
                        185,
                        0,
                        0,
                        66,
                        178,
                        0,
                        0,
                        66,
                        182,
                        0,
                        0,
                        65,
                        164,
                        0,
                        0,
                        67,
                        250,
                        0,
                        0,
                        0,
                        1,
                        1,
                        0,
                        0,
                        3,
                        65,
                        80,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        58,
                        131,
                        18,
                        111,
                        60,
                        35,
                        215,
                        10,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        74,
                        101,
                        105,
                        115,
                        115,
                        51,
                        47,
                        77,
                        101,
                        114,
                        108,
                        105,
                        110,
                        45,
                        54,
                        50,
                        53,
                        55,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        66,
                        145,
                        0,
                        0,
                        65,
                        103,
                        44,
                        0,
                        65,
                        229,
                        223,
                        212,
                        63,
                        189,
                        207,
                        189,
                        191,
                        220,
                        101,
                        228,
                        62,
                        7,
                        170,
                        99,
                        63,
                        162,
                        76,
                        199,
                        0,
                        0,
                        65,
                        30,
                        64,
                        26,
                        95,
                        3,
                        65,
                        79,
                        234,
                        8,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        6,
                        52,
                        186,
                        240,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ]
                },
                {
                    "name": "Restart",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "SEMAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4631574153900146
                },
                {
                    "name": "SEMAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.844007968902588
                },
                {
                    "name": "SEMApr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 30
                },
                {
                    "name": "SEMCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.000000026176508e-09
                },
                {
                    "name": "SEMRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -0.0
                },
                {
                    "name": "SEMSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMSpecimenICurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -1.7218594551086426
                },
                {
                    "name": "SEMStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.7862129211425781
                },
                {
                    "name": "SEMStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.6340744495391846
                },
                {
                    "name": "SWdate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "04/20/2021"
                },
                {
                    "name": "SampleID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18"
                },
                {
                    "name": "Scaling",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            2,
                            4
                        ]
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": [
                        [
                            2000000.0,
                            -6105.67529296875,
                            0.5854036211967468,
                            0.07999999821186066
                        ],
                        [
                            2000000.0,
                            -5383.72119140625,
                            0.02265683189034462,
                            2.0
                        ]
                    ]
                },
                {
                    "name": "ScanRate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3125000.0
                },
                {
                    "name": "StageM",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageMove",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "StageR",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 198.97982788085938
                },
                {
                    "name": "StageT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 63.375003814697266
                },
                {
                    "name": "StageY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 64.87300872802734
                },
                {
                    "name": "StageZ",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 29.950000762939453
                },
                {
                    "name": "Temperature",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 72.5
                },
                {
                    "name": "TimeStep",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 4e-08
                },
                {
                    "name": "WD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.5223453044891357
                },
                {
                    "name": "XResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 7437
                },
                {
                    "name": "Xmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -2.664947986602783
                },
                {
                    "name": "Xmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -5.469804763793945
                },
                {
                    "name": "YResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3500
                },
                {
                    "name": "ZeissScanSpeed",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                }
            ],
            "creationProperties": {
                "allocTime": "H5D_ALLOC_TIME_INCR",
                "fillTime": "H5D_FILL_TIME_ALLOC",
                "filters": [
                    {
                        "class": "H5Z_FILTER_USER",
                        "id": 32001,
                        "name": "blosc",
                        "parameters": [
                            2,
                            2,
                            2,
                            52059000,
                            9,
                            2,
                            5
                        ]
                    }
                ],
                "layout": {
                    "class": "H5D_CHUNKED",
                    "dims": [
                        1,
                        3500,
                        7437
                    ]
                }
            },
            "shape": {
                "class": "H5S_SIMPLE",
                "dims": [
                    2,
                    3500,
                    7437
                ]
            },
            "type": {
                "base": "H5T_STD_I16BE",
                "class": "H5T_INTEGER"
            }
        },
        "bef3a70e-dc54-11ec-b49e-0050568f771f": {
            "alias": [
                "/0-0-3"
            ],
            "attributes": [
                {
                    "name": "AI1",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI2",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "AI3",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "AI4",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "BeamDump1I",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4829021692276
                },
                {
                    "name": "BeamDump2I",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.4120490550994873
                },
                {
                    "name": "BrightnessA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 30.0
                },
                {
                    "name": "BrightnessB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 30.0
                },
                {
                    "name": "ChamVac",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.1488278295910277e-07
                },
                {
                    "name": "ChanNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 2
                },
                {
                    "name": "ContrastA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 26.0
                },
                {
                    "name": "ContrastB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 38.0
                },
                {
                    "name": "DecimatingFactor",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 14
                },
                {
                    "name": "DetA",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "InLens"
                },
                {
                    "name": "DetB",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "ESB @ 600 V"
                },
                {
                    "name": "DetC",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Detector C"
                },
                {
                    "name": "DetD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Detector D"
                },
                {
                    "name": "Detmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 10.0
                },
                {
                    "name": "Detmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -10.0
                },
                {
                    "name": "EHT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.2000000476837158
                },
                {
                    "name": "EightBit",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "FIBAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 22055.0
                },
                {
                    "name": "FIBAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2640.0
                },
                {
                    "name": "FIBCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4892578125
                },
                {
                    "name": "FIBFOV",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 500.0
                },
                {
                    "name": "FIBFocus",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 14080.0
                },
                {
                    "name": "FIBProb",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 15
                },
                {
                    "name": "FIBRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "FIBSliceNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 16670
                },
                {
                    "name": "FIBSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 28.734291076660156
                },
                {
                    "name": "FIBStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 15.000000953674316
                },
                {
                    "name": "FIBStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -17.0
                },
                {
                    "name": "FaradayCupI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 14.4482421875
                },
                {
                    "name": "FileLength",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 104119024
                },
                {
                    "name": "FileMagicNum",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3555587570
                },
                {
                    "name": "FileType",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "FileVersion",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 9
                },
                {
                    "name": "FirstX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 7060
                },
                {
                    "name": "FirstY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": -3073
                },
                {
                    "name": "FocusIndex",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4718122482299805
                },
                {
                    "name": "FramelineRampdownRatio",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.10000000149011612
                },
                {
                    "name": "GunVac",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 5.238325884171502e-10
                },
                {
                    "name": "HighCurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "MachineID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Jeiss3/Merlin-6257"
                },
                {
                    "name": "Mag",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 381.131103515625
                },
                {
                    "name": "MillingI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 12.994636535644531
                },
                {
                    "name": "MillingLineTime",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 20.5
                },
                {
                    "name": "MillingLinesPerImage",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "MillingPIDD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "MillingPIDI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.009999999776482582
                },
                {
                    "name": "MillingPIDMeasured",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                },
                {
                    "name": "MillingPIDOn",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 1
                },
                {
                    "name": "MillingPIDP",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0010000000474974513
                },
                {
                    "name": "MillingPIDTarget",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 13.0
                },
                {
                    "name": "MillingPIDTargetSlope",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "MillingULAng",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 89.0
                },
                {
                    "name": "MillingURAng",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 91.0
                },
                {
                    "name": "MillingXResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 4096
                },
                {
                    "name": "MillingXSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 336.0
                },
                {
                    "name": "MillingYResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 46251
                },
                {
                    "name": "MillingYSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 370.0
                },
                {
                    "name": "MillingYVoltage",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.13248591125011444
                },
                {
                    "name": "Mode",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "Notes",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
                },
                {
                    "name": "Oversampling",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 8
                },
                {
                    "name": "PixelSize",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 7.999856948852539
                },
                {
                    "name": "RawHeader",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            1024
                        ]
                    },
                    "type": {
                        "base": "H5T_STD_U8LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": [
                        211,
                        237,
                        245,
                        242,
                        0,
                        9,
                        0,
                        1,
                        48,
                        52,
                        47,
                        50,
                        48,
                        47,
                        50,
                        48,
                        50,
                        49,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        62,
                        101,
                        121,
                        142,
                        226,
                        48,
                        140,
                        58,
                        2,
                        0,
                        0,
                        0,
                        73,
                        244,
                        36,
                        0,
                        197,
                        190,
                        205,
                        103,
                        63,
                        21,
                        221,
                        3,
                        61,
                        163,
                        215,
                        10,
                        73,
                        244,
                        36,
                        0,
                        197,
                        168,
                        61,
                        197,
                        60,
                        185,
                        154,
                        210,
                        64,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        27,
                        148,
                        255,
                        255,
                        243,
                        255,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        29,
                        13,
                        0,
                        0,
                        13,
                        172,
                        0,
                        8,
                        0,
                        3,
                        74,
                        62,
                        188,
                        32,
                        61,
                        204,
                        204,
                        205,
                        192,
                        175,
                        8,
                        164,
                        192,
                        42,
                        142,
                        130,
                        193,
                        32,
                        0,
                        0,
                        65,
                        32,
                        0,
                        0,
                        0,
                        14,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        1,
                        1,
                        0,
                        0,
                        90,
                        48,
                        55,
                        50,
                        48,
                        45,
                        48,
                        55,
                        109,
                        95,
                        66,
                        82,
                        95,
                        83,
                        101,
                        99,
                        49,
                        56,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        90,
                        48,
                        55,
                        50,
                        48,
                        45,
                        48,
                        55,
                        109,
                        95,
                        66,
                        82,
                        95,
                        83,
                        101,
                        99,
                        49,
                        56,
                        44,
                        32,
                        66,
                        70,
                        32,
                        51,
                        51,
                        54,
                        120,
                        49,
                        50,
                        49,
                        117,
                        109,
                        44,
                        32,
                        50,
                        53,
                        46,
                        48,
                        115,
                        32,
                        64,
                        49,
                        51,
                        46,
                        48,
                        110,
                        65,
                        32,
                        47,
                        56,
                        110,
                        109,
                        32,
                        64,
                        49,
                        53,
                        110,
                        65,
                        45,
                        52,
                        44,
                        32,
                        108,
                        101,
                        110,
                        115,
                        50,
                        32,
                        49,
                        52,
                        49,
                        51,
                        48,
                        45,
                        53,
                        48,
                        86,
                        32,
                        61,
                        32,
                        49,
                        52,
                        48,
                        56,
                        48,
                        86,
                        44,
                        32,
                        98,
                        105,
                        97,
                        115,
                        32,
                        48,
                        86,
                        44,
                        32,
                        100,
                        101,
                        102,
                        108,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        45,
                        50,
                        48,
                        48,
                        86,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        73,
                        110,
                        76,
                        101,
                        110,
                        115,
                        0,
                        0,
                        0,
                        0,
                        69,
                        83,
                        66,
                        32,
                        64,
                        32,
                        54,
                        48,
                        48,
                        32,
                        86,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        68,
                        101,
                        116,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        67,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        68,
                        101,
                        116,
                        101,
                        99,
                        116,
                        111,
                        114,
                        32,
                        68,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        67,
                        190,
                        144,
                        200,
                        64,
                        255,
                        254,
                        212,
                        64,
                        97,
                        141,
                        217,
                        63,
                        153,
                        153,
                        154,
                        0,
                        0,
                        0,
                        0,
                        30,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        49,
                        78,
                        40,
                        143,
                        0,
                        0,
                        0,
                        0,
                        52,
                        169,
                        13,
                        41,
                        48,
                        15,
                        253,
                        113,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        128,
                        0,
                        0,
                        0,
                        63,
                        236,
                        67,
                        14,
                        63,
                        52,
                        28,
                        100,
                        63,
                        187,
                        72,
                        190,
                        64,
                        54,
                        4,
                        58,
                        66,
                        125,
                        128,
                        1,
                        66,
                        129,
                        190,
                        251,
                        65,
                        239,
                        153,
                        154,
                        0,
                        0,
                        0,
                        0,
                        67,
                        70,
                        250,
                        214,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        65,
                        240,
                        0,
                        0,
                        65,
                        208,
                        0,
                        0,
                        65,
                        240,
                        0,
                        0,
                        66,
                        24,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        70,
                        92,
                        0,
                        0,
                        15,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        63,
                        190,
                        160,
                        0,
                        0,
                        0,
                        0,
                        0,
                        70,
                        172,
                        78,
                        0,
                        69,
                        37,
                        0,
                        0,
                        65,
                        112,
                        0,
                        1,
                        193,
                        136,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        16,
                        0,
                        0,
                        0,
                        180,
                        171,
                        67,
                        168,
                        0,
                        0,
                        67,
                        185,
                        0,
                        0,
                        66,
                        178,
                        0,
                        0,
                        66,
                        182,
                        0,
                        0,
                        65,
                        164,
                        0,
                        0,
                        67,
                        250,
                        0,
                        0,
                        0,
                        1,
                        1,
                        0,
                        0,
                        3,
                        65,
                        80,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        58,
                        131,
                        18,
                        111,
                        60,
                        35,
                        215,
                        10,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        74,
                        101,
                        105,
                        115,
                        115,
                        51,
                        47,
                        77,
                        101,
                        114,
                        108,
                        105,
                        110,
                        45,
                        54,
                        50,
                        53,
                        55,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        66,
                        145,
                        0,
                        0,
                        65,
                        103,
                        44,
                        0,
                        65,
                        229,
                        223,
                        212,
                        63,
                        189,
                        207,
                        189,
                        191,
                        220,
                        94,
                        63,
                        62,
                        7,
                        170,
                        99,
                        63,
                        188,
                        100,
                        88,
                        0,
                        0,
                        65,
                        30,
                        64,
                        26,
                        95,
                        3,
                        65,
                        79,
                        234,
                        8,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        6,
                        52,
                        186,
                        240,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ]
                },
                {
                    "name": "Restart",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "SEMAlnX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.4631574153900146
                },
                {
                    "name": "SEMAlnY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 2.844007968902588
                },
                {
                    "name": "SEMApr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 30
                },
                {
                    "name": "SEMCurr",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.000000026176508e-09
                },
                {
                    "name": "SEMRot",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMShiftY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -0.0
                },
                {
                    "name": "SEMSpecimenI",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "SEMSpecimenICurrent",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -1.7216261625289917
                },
                {
                    "name": "SEMStiX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 1.8457963466644287
                },
                {
                    "name": "SEMStiY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.7035582065582275
                },
                {
                    "name": "SWdate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "04/20/2021"
                },
                {
                    "name": "SampleID",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "charSet": "H5T_CSET_UTF8",
                        "class": "H5T_STRING",
                        "length": "H5T_VARIABLE",
                        "strPad": "H5T_STR_NULLTERM"
                    },
                    "value": "Z0720-07m_BR_Sec18"
                },
                {
                    "name": "Scaling",
                    "shape": {
                        "class": "H5S_SIMPLE",
                        "dims": [
                            2,
                            4
                        ]
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": [
                        [
                            2000000.0,
                            -6105.67529296875,
                            0.5854036211967468,
                            0.07999999821186066
                        ],
                        [
                            2000000.0,
                            -5383.72119140625,
                            0.02265683189034462,
                            2.0
                        ]
                    ]
                },
                {
                    "name": "ScanRate",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3125000.0
                },
                {
                    "name": "StageM",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageMove",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 0
                },
                {
                    "name": "StageR",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 198.97982788085938
                },
                {
                    "name": "StageT",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 0.0
                },
                {
                    "name": "StageX",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 63.375003814697266
                },
                {
                    "name": "StageY",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 64.87300872802734
                },
                {
                    "name": "StageZ",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 29.950000762939453
                },
                {
                    "name": "Temperature",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 72.5
                },
                {
                    "name": "TimeStep",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 4e-08
                },
                {
                    "name": "WD",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": 3.524282693862915
                },
                {
                    "name": "XResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 7437
                },
                {
                    "name": "Xmax",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -2.664947986602783
                },
                {
                    "name": "Xmin",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_IEEE_F64LE",
                        "class": "H5T_FLOAT"
                    },
                    "value": -5.469804763793945
                },
                {
                    "name": "YResolution",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3500
                },
                {
                    "name": "ZeissScanSpeed",
                    "shape": {
                        "class": "H5S_SCALAR"
                    },
                    "type": {
                        "base": "H5T_STD_I64LE",
                        "class": "H5T_INTEGER"
                    },
                    "value": 3
                }
            ],
            "creationProperties": {
                "allocTime": "H5D_ALLOC_TIME_INCR",
                "fillTime": "H5D_FILL_TIME_ALLOC",
                "filters": [
                    {
                        "class": "H5Z_FILTER_USER",
                        "id": 32001,
                        "name": "blosc",
                        "parameters": [
                            2,
                            2,
                            2,
                            52059000,
                            9,
                            2,
                            5
                        ]
                    }
                ],
                "layout": {
                    "class": "H5D_CHUNKED",
                    "dims": [
                        1,
                        3500,
                        7437
                    ]
                }
            },
            "shape": {
                "class": "H5S_SIMPLE",
                "dims": [
                    2,
                    3500,
                    7437
                ]
            },
            "type": {
                "base": "H5T_STD_I16BE",
                "class": "H5T_INTEGER"
            }
        }
    },
    "groups": {
        "bef2d036-dc54-11ec-b49e-0050568f771f": {
            "alias": [
                "/"
            ],
            "links": [
                {
                    "class": "H5L_TYPE_HARD",
                    "collection": "datasets",
                    "id": "bef343f4-dc54-11ec-b49e-0050568f771f",
                    "title": "0-0-0"
                },
                {
                    "class": "H5L_TYPE_HARD",
                    "collection": "datasets",
                    "id": "bef36780-dc54-11ec-b49e-0050568f771f",
                    "title": "0-0-1"
                },
                {
                    "class": "H5L_TYPE_HARD",
                    "collection": "datasets",
                    "id": "bef3881e-dc54-11ec-b49e-0050568f771f",
                    "title": "0-0-2"
                },
                {
                    "class": "H5L_TYPE_HARD",
                    "collection": "datasets",
                    "id": "bef3a70e-dc54-11ec-b49e-0050568f771f",
                    "title": "0-0-3"
                }
            ]
        }
    },
    "root": "bef2d036-dc54-11ec-b49e-0050568f771f"
}

Merlin-6257_21-05-20_125527.json.txt

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

Another tool useful tool is h5ls:

h5ls -v Merlin-6257_21-05-20_125527.h5 > Merlin-6257_21-05-20_125527.h5ls
h5ls output
Opened "Merlin-6257_21-05-20_125527.h5" with sec2 driver.
0-0-0                    Dataset {2/2, 3500/3500, 7437/7437}
    Attribute: AI1 scalar
        Type:      native long
        Data:  1
    Attribute: AI2 scalar
        Type:      native long
        Data:  1
    Attribute: AI3 scalar
        Type:      native long
        Data:  0
    Attribute: AI4 scalar
        Type:      native long
        Data:  0
    Attribute: BeamDump1I scalar
        Type:      native double
        Data:  1.4829
    Attribute: BeamDump2I scalar
        Type:      native double
        Data:  2.41205
    Attribute: BrightnessA scalar
        Type:      native double
        Data:  30
    Attribute: BrightnessB scalar
        Type:      native double
        Data:  30
    Attribute: ChamVac scalar
        Type:      native double
        Data:  3.14883e-07
    Attribute: ChanNum scalar
        Type:      native long
        Data:  2
    Attribute: ContrastA scalar
        Type:      native double
        Data:  26
    Attribute: ContrastB scalar
        Type:      native double
        Data:  38
    Attribute: DecimatingFactor scalar
        Type:      native long
        Data:  14
    Attribute: DetA scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "InLens"
    Attribute: DetB scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "ESB @ 600 V"
    Attribute: DetC scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector C"
    Attribute: DetD scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector D"
    Attribute: Detmax scalar
        Type:      native double
        Data:  10
    Attribute: Detmin scalar
        Type:      native double
        Data:  -10
    Attribute: EHT scalar
        Type:      native double
        Data:  1.2
    Attribute: EightBit scalar
        Type:      native long
        Data:  0
    Attribute: FIBAlnX scalar
        Type:      native double
        Data:  22055
    Attribute: FIBAlnY scalar
        Type:      native double
        Data:  2640
    Attribute: FIBCurr scalar
        Type:      native double
        Data:  1.48926
    Attribute: FIBFOV scalar
        Type:      native double
        Data:  500
    Attribute: FIBFocus scalar
        Type:      native double
        Data:  14080
    Attribute: FIBProb scalar
        Type:      native long
        Data:  15
    Attribute: FIBRot scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftX scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftY scalar
        Type:      native double
        Data:  0
    Attribute: FIBSliceNum scalar
        Type:      native long
        Data:  16670
    Attribute: FIBSpecimenI scalar
        Type:      native double
        Data:  28.7343
    Attribute: FIBStiX scalar
        Type:      native double
        Data:  15
    Attribute: FIBStiY scalar
        Type:      native double
        Data:  -17
    Attribute: FaradayCupI scalar
        Type:      native double
        Data:  14.4482
    Attribute: FileLength scalar
        Type:      native long
        Data:  104119024
    Attribute: FileMagicNum scalar
        Type:      native long
        Data:  3555587570
    Attribute: FileType scalar
        Type:      native long
        Data:  1
    Attribute: FileVersion scalar
        Type:      native long
        Data:  9
    Attribute: FirstX scalar
        Type:      native long
        Data:  -14503
    Attribute: FirstY scalar
        Type:      native long
        Data:  -3073
    Attribute: FocusIndex scalar
        Type:      native double
        Data:  1.41849
    Attribute: FramelineRampdownRatio scalar
        Type:      native double
        Data:  0.1
    Attribute: GunVac scalar
        Type:      native double
        Data:  5.23833e-10
    Attribute: HighCurrent scalar
        Type:      native long
        Data:  0
    Attribute: MachineID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Jeiss3/Merlin-6257"
    Attribute: Mag scalar
        Type:      native double
        Data:  381.131
    Attribute: MillingI scalar
        Type:      native double
        Data:  12.9946
    Attribute: MillingLineTime scalar
        Type:      native double
        Data:  20.5
    Attribute: MillingLinesPerImage scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDD scalar
        Type:      native double
        Data:  0
    Attribute: MillingPIDI scalar
        Type:      native double
        Data:  0.01
    Attribute: MillingPIDMeasured scalar
        Type:      native long
        Data:  3
    Attribute: MillingPIDOn scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDP scalar
        Type:      native double
        Data:  0.001
    Attribute: MillingPIDTarget scalar
        Type:      native double
        Data:  13
    Attribute: MillingPIDTargetSlope scalar
        Type:      native double
        Data:  0
    Attribute: MillingULAng scalar
        Type:      native double
        Data:  89
    Attribute: MillingURAng scalar
        Type:      native double
        Data:  91
    Attribute: MillingXResolution scalar
        Type:      native long
        Data:  4096
    Attribute: MillingXSize scalar
        Type:      native double
        Data:  336
    Attribute: MillingYResolution scalar
        Type:      native long
        Data:  46251
    Attribute: MillingYSize scalar
        Type:      native double
        Data:  370
    Attribute: MillingYVoltage scalar
        Type:      native double
        Data:  0.132486
    Attribute: Mode scalar
        Type:      native long
        Data:  0
    Attribute: Notes scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
    Attribute: Oversampling scalar
        Type:      native long
        Data:  8
    Attribute: PixelSize scalar
        Type:      native double
        Data:  7.99986
    Attribute: RawHeader {1024}
        Type:      native unsigned char
        Data:
            (0) 211, 237, 245, 242, 0, 9, 0, 1, 48, 52, 47, 50, 48, 47, 50, 48, 50, 49, 0, 0, 0, 0, 0, 0, 62, 101, 121, 142, 226, 48, 140, 58, 2, 0, 0, 0, 73, 244, 36, 0, 197, 190, 205, 103, 63, 21, 221, 3, 61, 163, 215, 10, 73, 244, 36, 0, 197, 168, 61, 197, 60, 185, 154, 210, 64,
            (65) 0, 0, 0, 0, 0, 255, 255, 199, 89, 255, 255, 243, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 13, 0, 0, 13, 172, 0, 8, 0, 3, 74, 62, 188, 32, 61, 204, 204, 205, 192, 175, 8, 164, 192, 42, 142, 130, 193, 32, 0, 0, 65, 32, 0, 0, 0,
            (137) 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 0, 0, 0, 0, 0, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 44, 32, 66, 70, 32, 51, 51, 54, 120, 49,
            (208) 50, 49, 117, 109, 44, 32, 50, 53, 46, 48, 115, 32, 64, 49, 51, 46, 48, 110, 65, 32, 47, 56, 110, 109, 32, 64, 49, 53, 110, 65, 45, 52, 44, 32, 108, 101, 110, 115, 50, 32, 49, 52, 49, 51, 48, 45, 53, 48, 86, 32, 61, 32, 49, 52, 48, 56, 48, 86, 44, 32, 98, 105, 97,
            (271) 115, 32, 48, 86, 44, 32, 100, 101, 102, 108, 101, 99, 116, 111, 114, 32, 45, 50, 48, 48, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (349) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 76, 101, 110, 115, 0, 0, 0, 0, 69, 83, 66, 32, 64, 32, 54, 48, 48, 32, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 67, 0, 0, 0, 0, 0,
            (425) 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 190, 144, 200, 64, 255, 254, 212, 64, 97, 107, 64, 63, 153, 153, 154, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 78, 40, 143, 0, 0, 0,
            (497) 0, 52, 169, 13, 41, 48, 15, 253, 113, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 63, 226, 99, 159, 63, 15, 109, 95, 63, 187, 72, 190, 64, 54, 4, 58, 66, 125, 128, 1, 66, 129, 190, 251, 65, 239, 153, 154, 0, 0, 0, 0, 67, 70, 250, 214, 0, 0, 0, 0, 0, 0, 65, 240, 0, 0,
            (564) 65, 208, 0, 0, 65, 240, 0, 0, 66, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 92, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 190, 160, 0, 0, 0, 0, 0, 70, 172, 78, 0, 69, 37, 0, 0, 65, 112, 0, 1, 193, 136,
            (642) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 180, 171, 67, 168, 0, 0, 67, 185, 0, 0, 66, 178, 0, 0, 66, 182, 0, 0, 65, 164, 0, 0, 67, 250, 0, 0, 0, 1, 1, 0, 0, 3, 65, 80, 0, 0, 0, 0, 0, 0, 58, 131, 18, 111, 60, 35, 215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (718) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 101, 105, 115,
            (804) 115, 51, 47, 77, 101, 114, 108, 105, 110, 45, 54, 50, 53, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 145, 0, 0, 65, 103, 44, 0, 65, 229, 223, 212, 63, 189, 207, 189, 191, 221, 169, 48, 62, 7, 170, 99,
            (874) 63, 181, 145, 9, 0, 0, 65, 30, 64, 26, 95, 3, 65, 79, 234, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (957) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 186, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    Attribute: Restart scalar
        Type:      native long
        Data:  0
    Attribute: SEMAlnX scalar
        Type:      native double
        Data:  1.46316
    Attribute: SEMAlnY scalar
        Type:      native double
        Data:  2.84401
    Attribute: SEMApr scalar
        Type:      native long
        Data:  30
    Attribute: SEMCurr scalar
        Type:      native double
        Data:  3e-09
    Attribute: SEMRot scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftX scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftY scalar
        Type:      native double
        Data:  -0
    Attribute: SEMSpecimenI scalar
        Type:      native double
        Data:  0
    Attribute: SEMSpecimenICurrent scalar
        Type:      native double
        Data:  -1.73173
    Attribute: SEMStiX scalar
        Type:      native double
        Data:  1.76867
    Attribute: SEMStiY scalar
        Type:      native double
        Data:  0.560263
    Attribute: SWdate scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "04/20/2021"
    Attribute: SampleID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18"
    Attribute: Scaling {2, 4}
        Type:      native double
        Data:
            (0,0) 2e+06, -6105.68, 0.585404, 0.08,
            (1,0) 2e+06, -5383.72, 0.0226568, 2
    Attribute: ScanRate scalar
        Type:      native double
        Data:  3.125e+06
    Attribute: StageM scalar
        Type:      native double
        Data:  0
    Attribute: StageMove scalar
        Type:      native long
        Data:  0
    Attribute: StageR scalar
        Type:      native double
        Data:  198.98
    Attribute: StageT scalar
        Type:      native double
        Data:  0
    Attribute: StageX scalar
        Type:      native double
        Data:  63.375
    Attribute: StageY scalar
        Type:      native double
        Data:  64.873
    Attribute: StageZ scalar
        Type:      native double
        Data:  29.95
    Attribute: Temperature scalar
        Type:      native double
        Data:  72.5
    Attribute: TimeStep scalar
        Type:      native double
        Data:  4e-08
    Attribute: WD scalar
        Type:      native double
        Data:  3.52217
    Attribute: XResolution scalar
        Type:      native long
        Data:  7437
    Attribute: Xmax scalar
        Type:      native double
        Data:  -2.66495
    Attribute: Xmin scalar
        Type:      native double
        Data:  -5.4698
    Attribute: YResolution scalar
        Type:      native long
        Data:  3500
    Attribute: ZeissScanSpeed scalar
        Type:      native long
        Data:  3
    Location:  1:800
    Links:     1
    Chunks:    {1, 3500, 7437} 52059000 bytes
    Storage:   104118000 logical bytes, 73332223 allocated bytes, 141.98% utilization
    Filter-0:  blosc-32001 OPT {2, 2, 2, 52059000, 9, 2, 5}
    Type:      16-bit big-endian integer
0-0-1                    Dataset {2/2, 3500/3500, 7437/7437}
    Attribute: AI1 scalar
        Type:      native long
        Data:  1
    Attribute: AI2 scalar
        Type:      native long
        Data:  1
    Attribute: AI3 scalar
        Type:      native long
        Data:  0
    Attribute: AI4 scalar
        Type:      native long
        Data:  0
    Attribute: BeamDump1I scalar
        Type:      native double
        Data:  1.4829
    Attribute: BeamDump2I scalar
        Type:      native double
        Data:  2.41205
    Attribute: BrightnessA scalar
        Type:      native double
        Data:  30
    Attribute: BrightnessB scalar
        Type:      native double
        Data:  30
    Attribute: ChamVac scalar
        Type:      native double
        Data:  3.14883e-07
    Attribute: ChanNum scalar
        Type:      native long
        Data:  2
    Attribute: ContrastA scalar
        Type:      native double
        Data:  26
    Attribute: ContrastB scalar
        Type:      native double
        Data:  38
    Attribute: DecimatingFactor scalar
        Type:      native long
        Data:  14
    Attribute: DetA scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "InLens"
    Attribute: DetB scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "ESB @ 600 V"
    Attribute: DetC scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector C"
    Attribute: DetD scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector D"
    Attribute: Detmax scalar
        Type:      native double
        Data:  10
    Attribute: Detmin scalar
        Type:      native double
        Data:  -10
    Attribute: EHT scalar
        Type:      native double
        Data:  1.2
    Attribute: EightBit scalar
        Type:      native long
        Data:  0
    Attribute: FIBAlnX scalar
        Type:      native double
        Data:  22055
    Attribute: FIBAlnY scalar
        Type:      native double
        Data:  2640
    Attribute: FIBCurr scalar
        Type:      native double
        Data:  1.49536
    Attribute: FIBFOV scalar
        Type:      native double
        Data:  500
    Attribute: FIBFocus scalar
        Type:      native double
        Data:  14080
    Attribute: FIBProb scalar
        Type:      native long
        Data:  15
    Attribute: FIBRot scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftX scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftY scalar
        Type:      native double
        Data:  0
    Attribute: FIBSliceNum scalar
        Type:      native long
        Data:  16670
    Attribute: FIBSpecimenI scalar
        Type:      native double
        Data:  28.7343
    Attribute: FIBStiX scalar
        Type:      native double
        Data:  15
    Attribute: FIBStiY scalar
        Type:      native double
        Data:  -17
    Attribute: FaradayCupI scalar
        Type:      native double
        Data:  14.4482
    Attribute: FileLength scalar
        Type:      native long
        Data:  104119024
    Attribute: FileMagicNum scalar
        Type:      native long
        Data:  3555587570
    Attribute: FileType scalar
        Type:      native long
        Data:  1
    Attribute: FileVersion scalar
        Type:      native long
        Data:  9
    Attribute: FirstX scalar
        Type:      native long
        Data:  -7315
    Attribute: FirstY scalar
        Type:      native long
        Data:  -3073
    Attribute: FocusIndex scalar
        Type:      native double
        Data:  1.04057
    Attribute: FramelineRampdownRatio scalar
        Type:      native double
        Data:  0.1
    Attribute: GunVac scalar
        Type:      native double
        Data:  5.23833e-10
    Attribute: HighCurrent scalar
        Type:      native long
        Data:  0
    Attribute: MachineID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Jeiss3/Merlin-6257"
    Attribute: Mag scalar
        Type:      native double
        Data:  381.131
    Attribute: MillingI scalar
        Type:      native double
        Data:  12.9946
    Attribute: MillingLineTime scalar
        Type:      native double
        Data:  20.5
    Attribute: MillingLinesPerImage scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDD scalar
        Type:      native double
        Data:  0
    Attribute: MillingPIDI scalar
        Type:      native double
        Data:  0.01
    Attribute: MillingPIDMeasured scalar
        Type:      native long
        Data:  3
    Attribute: MillingPIDOn scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDP scalar
        Type:      native double
        Data:  0.001
    Attribute: MillingPIDTarget scalar
        Type:      native double
        Data:  13
    Attribute: MillingPIDTargetSlope scalar
        Type:      native double
        Data:  0
    Attribute: MillingULAng scalar
        Type:      native double
        Data:  89
    Attribute: MillingURAng scalar
        Type:      native double
        Data:  91
    Attribute: MillingXResolution scalar
        Type:      native long
        Data:  4096
    Attribute: MillingXSize scalar
        Type:      native double
        Data:  336
    Attribute: MillingYResolution scalar
        Type:      native long
        Data:  46251
    Attribute: MillingYSize scalar
        Type:      native double
        Data:  370
    Attribute: MillingYVoltage scalar
        Type:      native double
        Data:  0.132486
    Attribute: Mode scalar
        Type:      native long
        Data:  0
    Attribute: Notes scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
    Attribute: Oversampling scalar
        Type:      native long
        Data:  8
    Attribute: PixelSize scalar
        Type:      native double
        Data:  7.99986
    Attribute: RawHeader {1024}
        Type:      native unsigned char
        Data:
            (0) 211, 237, 245, 242, 0, 9, 0, 1, 48, 52, 47, 50, 48, 47, 50, 48, 50, 49, 0, 0, 0, 0, 0, 0, 62, 101, 121, 142, 226, 48, 140, 58, 2, 0, 0, 0, 73, 244, 36, 0, 197, 190, 205, 103, 63, 21, 221, 3, 61, 163, 215, 10, 73, 244, 36, 0, 197, 168, 61, 197, 60, 185, 154, 210, 64,
            (65) 0, 0, 0, 0, 0, 255, 255, 227, 109, 255, 255, 243, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 13, 0, 0, 13, 172, 0, 8, 0, 3, 74, 62, 188, 32, 61, 204, 204, 205, 192, 175, 8, 164, 192, 42, 142, 130, 193, 32, 0, 0, 65, 32, 0, 0,
            (136) 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 0, 0, 0, 0, 0, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 44, 32, 66, 70, 32, 51, 51, 54, 120,
            (207) 49, 50, 49, 117, 109, 44, 32, 50, 53, 46, 48, 115, 32, 64, 49, 51, 46, 48, 110, 65, 32, 47, 56, 110, 109, 32, 64, 49, 53, 110, 65, 45, 52, 44, 32, 108, 101, 110, 115, 50, 32, 49, 52, 49, 51, 48, 45, 53, 48, 86, 32, 61, 32, 49, 52, 48, 56, 48, 86, 44, 32, 98, 105,
            (270) 97, 115, 32, 48, 86, 44, 32, 100, 101, 102, 108, 101, 99, 116, 111, 114, 32, 45, 50, 48, 48, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (348) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 76, 101, 110, 115, 0, 0, 0, 0, 69, 83, 66, 32, 64, 32, 54, 48, 48, 32, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 67, 0, 0, 0, 0,
            (424) 0, 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 190, 144, 200, 64, 255, 254, 212, 64, 97, 97, 215, 63, 153, 153, 154, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 78, 40, 143, 0, 0,
            (496) 0, 0, 52, 169, 13, 41, 48, 15, 253, 113, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 63, 223, 212, 92, 63, 20, 40, 7, 63, 187, 72, 190, 64, 54, 4, 58, 66, 125, 128, 1, 66, 129, 190, 251, 65, 239, 153, 154, 0, 0, 0, 0, 67, 70, 250, 214, 0, 0, 0, 0, 0, 0, 65, 240, 0, 0,
            (564) 65, 208, 0, 0, 65, 240, 0, 0, 66, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 92, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 191, 104, 0, 0, 0, 0, 0, 70, 172, 78, 0, 69, 37, 0, 0, 65, 112, 0, 1, 193, 136,
            (642) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 180, 171, 67, 168, 0, 0, 67, 185, 0, 0, 66, 178, 0, 0, 66, 182, 0, 0, 65, 164, 0, 0, 67, 250, 0, 0, 0, 1, 1, 0, 0, 3, 65, 80, 0, 0, 0, 0, 0, 0, 58, 131, 18, 111, 60, 35, 215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (718) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 101, 105, 115,
            (804) 115, 51, 47, 77, 101, 114, 108, 105, 110, 45, 54, 50, 53, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 145, 0, 0, 65, 103, 44, 0, 65, 229, 223, 212, 63, 189, 207, 189, 191, 224, 53, 162, 62, 7, 170, 99,
            (874) 63, 133, 49, 117, 0, 0, 65, 30, 64, 26, 95, 3, 65, 79, 234, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (957) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 186, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    Attribute: Restart scalar
        Type:      native long
        Data:  0
    Attribute: SEMAlnX scalar
        Type:      native double
        Data:  1.46316
    Attribute: SEMAlnY scalar
        Type:      native double
        Data:  2.84401
    Attribute: SEMApr scalar
        Type:      native long
        Data:  30
    Attribute: SEMCurr scalar
        Type:      native double
        Data:  3e-09
    Attribute: SEMRot scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftX scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftY scalar
        Type:      native double
        Data:  -0
    Attribute: SEMSpecimenI scalar
        Type:      native double
        Data:  0
    Attribute: SEMSpecimenICurrent scalar
        Type:      native double
        Data:  -1.75164
    Attribute: SEMStiX scalar
        Type:      native double
        Data:  1.74867
    Attribute: SEMStiY scalar
        Type:      native double
        Data:  0.578736
    Attribute: SWdate scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "04/20/2021"
    Attribute: SampleID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18"
    Attribute: Scaling {2, 4}
        Type:      native double
        Data:
            (0,0) 2e+06, -6105.68, 0.585404, 0.08,
            (1,0) 2e+06, -5383.72, 0.0226568, 2
    Attribute: ScanRate scalar
        Type:      native double
        Data:  3.125e+06
    Attribute: StageM scalar
        Type:      native double
        Data:  0
    Attribute: StageMove scalar
        Type:      native long
        Data:  0
    Attribute: StageR scalar
        Type:      native double
        Data:  198.98
    Attribute: StageT scalar
        Type:      native double
        Data:  0
    Attribute: StageX scalar
        Type:      native double
        Data:  63.375
    Attribute: StageY scalar
        Type:      native double
        Data:  64.873
    Attribute: StageZ scalar
        Type:      native double
        Data:  29.95
    Attribute: Temperature scalar
        Type:      native double
        Data:  72.5
    Attribute: TimeStep scalar
        Type:      native double
        Data:  4e-08
    Attribute: WD scalar
        Type:      native double
        Data:  3.5216
    Attribute: XResolution scalar
        Type:      native long
        Data:  7437
    Attribute: Xmax scalar
        Type:      native double
        Data:  -2.66495
    Attribute: Xmin scalar
        Type:      native double
        Data:  -5.4698
    Attribute: YResolution scalar
        Type:      native long
        Data:  3500
    Attribute: ZeissScanSpeed scalar
        Type:      native long
        Data:  3
    Location:  1:73348823
    Links:     1
    Chunks:    {1, 3500, 7437} 52059000 bytes
    Storage:   104118000 logical bytes, 72104970 allocated bytes, 144.40% utilization
    Filter-0:  blosc-32001 OPT {2, 2, 2, 52059000, 9, 2, 5}
    Type:      16-bit big-endian integer
0-0-2                    Dataset {2/2, 3500/3500, 7437/7437}
    Attribute: AI1 scalar
        Type:      native long
        Data:  1
    Attribute: AI2 scalar
        Type:      native long
        Data:  1
    Attribute: AI3 scalar
        Type:      native long
        Data:  0
    Attribute: AI4 scalar
        Type:      native long
        Data:  0
    Attribute: BeamDump1I scalar
        Type:      native double
        Data:  1.4829
    Attribute: BeamDump2I scalar
        Type:      native double
        Data:  2.41205
    Attribute: BrightnessA scalar
        Type:      native double
        Data:  30
    Attribute: BrightnessB scalar
        Type:      native double
        Data:  30
    Attribute: ChamVac scalar
        Type:      native double
        Data:  3.14698e-07
    Attribute: ChanNum scalar
        Type:      native long
        Data:  2
    Attribute: ContrastA scalar
        Type:      native double
        Data:  26
    Attribute: ContrastB scalar
        Type:      native double
        Data:  38
    Attribute: DecimatingFactor scalar
        Type:      native long
        Data:  14
    Attribute: DetA scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "InLens"
    Attribute: DetB scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "ESB @ 600 V"
    Attribute: DetC scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector C"
    Attribute: DetD scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector D"
    Attribute: Detmax scalar
        Type:      native double
        Data:  10
    Attribute: Detmin scalar
        Type:      native double
        Data:  -10
    Attribute: EHT scalar
        Type:      native double
        Data:  1.2
    Attribute: EightBit scalar
        Type:      native long
        Data:  0
    Attribute: FIBAlnX scalar
        Type:      native double
        Data:  22055
    Attribute: FIBAlnY scalar
        Type:      native double
        Data:  2640
    Attribute: FIBCurr scalar
        Type:      native double
        Data:  1.48926
    Attribute: FIBFOV scalar
        Type:      native double
        Data:  500
    Attribute: FIBFocus scalar
        Type:      native double
        Data:  14080
    Attribute: FIBProb scalar
        Type:      native long
        Data:  15
    Attribute: FIBRot scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftX scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftY scalar
        Type:      native double
        Data:  0
    Attribute: FIBSliceNum scalar
        Type:      native long
        Data:  16670
    Attribute: FIBSpecimenI scalar
        Type:      native double
        Data:  28.7343
    Attribute: FIBStiX scalar
        Type:      native double
        Data:  15
    Attribute: FIBStiY scalar
        Type:      native double
        Data:  -17
    Attribute: FaradayCupI scalar
        Type:      native double
        Data:  14.4482
    Attribute: FileLength scalar
        Type:      native long
        Data:  104119024
    Attribute: FileMagicNum scalar
        Type:      native long
        Data:  3555587570
    Attribute: FileType scalar
        Type:      native long
        Data:  1
    Attribute: FileVersion scalar
        Type:      native long
        Data:  9
    Attribute: FirstX scalar
        Type:      native long
        Data:  -128
    Attribute: FirstY scalar
        Type:      native long
        Data:  -3073
    Attribute: FocusIndex scalar
        Type:      native double
        Data:  1.26797
    Attribute: FramelineRampdownRatio scalar
        Type:      native double
        Data:  0.1
    Attribute: GunVac scalar
        Type:      native double
        Data:  5.23833e-10
    Attribute: HighCurrent scalar
        Type:      native long
        Data:  0
    Attribute: MachineID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Jeiss3/Merlin-6257"
    Attribute: Mag scalar
        Type:      native double
        Data:  381.131
    Attribute: MillingI scalar
        Type:      native double
        Data:  12.9946
    Attribute: MillingLineTime scalar
        Type:      native double
        Data:  20.5
    Attribute: MillingLinesPerImage scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDD scalar
        Type:      native double
        Data:  0
    Attribute: MillingPIDI scalar
        Type:      native double
        Data:  0.01
    Attribute: MillingPIDMeasured scalar
        Type:      native long
        Data:  3
    Attribute: MillingPIDOn scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDP scalar
        Type:      native double
        Data:  0.001
    Attribute: MillingPIDTarget scalar
        Type:      native double
        Data:  13
    Attribute: MillingPIDTargetSlope scalar
        Type:      native double
        Data:  0
    Attribute: MillingULAng scalar
        Type:      native double
        Data:  89
    Attribute: MillingURAng scalar
        Type:      native double
        Data:  91
    Attribute: MillingXResolution scalar
        Type:      native long
        Data:  4096
    Attribute: MillingXSize scalar
        Type:      native double
        Data:  336
    Attribute: MillingYResolution scalar
        Type:      native long
        Data:  46251
    Attribute: MillingYSize scalar
        Type:      native double
        Data:  370
    Attribute: MillingYVoltage scalar
        Type:      native double
        Data:  0.132486
    Attribute: Mode scalar
        Type:      native long
        Data:  0
    Attribute: Notes scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
    Attribute: Oversampling scalar
        Type:      native long
        Data:  8
    Attribute: PixelSize scalar
        Type:      native double
        Data:  7.99986
    Attribute: RawHeader {1024}
        Type:      native unsigned char
        Data:
            (0) 211, 237, 245, 242, 0, 9, 0, 1, 48, 52, 47, 50, 48, 47, 50, 48, 50, 49, 0, 0, 0, 0, 0, 0, 62, 101, 121, 142, 226, 48, 140, 58, 2, 0, 0, 0, 73, 244, 36, 0, 197, 190, 205, 103, 63, 21, 221, 3, 61, 163, 215, 10, 73, 244, 36, 0, 197, 168, 61, 197, 60, 185, 154, 210, 64,
            (65) 0, 0, 0, 0, 0, 255, 255, 255, 128, 255, 255, 243, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 13, 0, 0, 13, 172, 0, 8, 0, 3, 74, 62, 188, 32, 61, 204, 204, 205, 192, 175, 8, 164, 192, 42, 142, 130, 193, 32, 0, 0, 65, 32, 0, 0,
            (136) 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 0, 0, 0, 0, 0, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 44, 32, 66, 70, 32, 51, 51, 54, 120,
            (207) 49, 50, 49, 117, 109, 44, 32, 50, 53, 46, 48, 115, 32, 64, 49, 51, 46, 48, 110, 65, 32, 47, 56, 110, 109, 32, 64, 49, 53, 110, 65, 45, 52, 44, 32, 108, 101, 110, 115, 50, 32, 49, 52, 49, 51, 48, 45, 53, 48, 86, 32, 61, 32, 49, 52, 48, 56, 48, 86, 44, 32, 98, 105,
            (270) 97, 115, 32, 48, 86, 44, 32, 100, 101, 102, 108, 101, 99, 116, 111, 114, 32, 45, 50, 48, 48, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (348) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 76, 101, 110, 115, 0, 0, 0, 0, 69, 83, 66, 32, 64, 32, 54, 48, 48, 32, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 67, 0, 0, 0, 0,
            (424) 0, 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 190, 144, 200, 64, 255, 254, 212, 64, 97, 110, 27, 63, 153, 153, 154, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 78, 40, 143, 0, 0,
            (496) 0, 0, 52, 168, 243, 211, 48, 15, 253, 113, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 63, 228, 162, 160, 63, 34, 82, 180, 63, 187, 72, 190, 64, 54, 4, 58, 66, 125, 128, 1, 66, 129, 190, 251, 65, 239, 153, 154, 0, 0, 0, 0, 67, 70, 250, 214, 0, 0, 0, 0, 0, 0, 65, 240, 0,
            (563) 0, 65, 208, 0, 0, 65, 240, 0, 0, 66, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 92, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 190, 160, 0, 0, 0, 0, 0, 70, 172, 78, 0, 69, 37, 0, 0, 65, 112, 0, 1, 193,
            (641) 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 180, 171, 67, 168, 0, 0, 67, 185, 0, 0, 66, 178, 0, 0, 66, 182, 0, 0, 65, 164, 0, 0, 67, 250, 0, 0, 0, 1, 1, 0, 0, 3, 65, 80, 0, 0, 0, 0, 0, 0, 58, 131, 18, 111, 60, 35, 215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (716) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 101,
            (802) 105, 115, 115, 51, 47, 77, 101, 114, 108, 105, 110, 45, 54, 50, 53, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 145, 0, 0, 65, 103, 44, 0, 65, 229, 223, 212, 63, 189, 207, 189, 191, 220, 101, 228, 62, 7,
            (872) 170, 99, 63, 162, 76, 199, 0, 0, 65, 30, 64, 26, 95, 3, 65, 79, 234, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (954) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 186, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    Attribute: Restart scalar
        Type:      native long
        Data:  0
    Attribute: SEMAlnX scalar
        Type:      native double
        Data:  1.46316
    Attribute: SEMAlnY scalar
        Type:      native double
        Data:  2.84401
    Attribute: SEMApr scalar
        Type:      native long
        Data:  30
    Attribute: SEMCurr scalar
        Type:      native double
        Data:  3e-09
    Attribute: SEMRot scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftX scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftY scalar
        Type:      native double
        Data:  -0
    Attribute: SEMSpecimenI scalar
        Type:      native double
        Data:  0
    Attribute: SEMSpecimenICurrent scalar
        Type:      native double
        Data:  -1.72186
    Attribute: SEMStiX scalar
        Type:      native double
        Data:  1.78621
    Attribute: SEMStiY scalar
        Type:      native double
        Data:  0.634074
    Attribute: SWdate scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "04/20/2021"
    Attribute: SampleID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18"
    Attribute: Scaling {2, 4}
        Type:      native double
        Data:
            (0,0) 2e+06, -6105.68, 0.585404, 0.08,
            (1,0) 2e+06, -5383.72, 0.0226568, 2
    Attribute: ScanRate scalar
        Type:      native double
        Data:  3.125e+06
    Attribute: StageM scalar
        Type:      native double
        Data:  0
    Attribute: StageMove scalar
        Type:      native long
        Data:  0
    Attribute: StageR scalar
        Type:      native double
        Data:  198.98
    Attribute: StageT scalar
        Type:      native double
        Data:  0
    Attribute: StageX scalar
        Type:      native double
        Data:  63.375
    Attribute: StageY scalar
        Type:      native double
        Data:  64.873
    Attribute: StageZ scalar
        Type:      native double
        Data:  29.95
    Attribute: Temperature scalar
        Type:      native double
        Data:  72.5
    Attribute: TimeStep scalar
        Type:      native double
        Data:  4e-08
    Attribute: WD scalar
        Type:      native double
        Data:  3.52235
    Attribute: XResolution scalar
        Type:      native long
        Data:  7437
    Attribute: Xmax scalar
        Type:      native double
        Data:  -2.66495
    Attribute: Xmin scalar
        Type:      native double
        Data:  -5.4698
    Attribute: YResolution scalar
        Type:      native long
        Data:  3500
    Attribute: ZeissScanSpeed scalar
        Type:      native long
        Data:  3
    Location:  1:145465049
    Links:     1
    Chunks:    {1, 3500, 7437} 52059000 bytes
    Storage:   104118000 logical bytes, 72023280 allocated bytes, 144.56% utilization
    Filter-0:  blosc-32001 OPT {2, 2, 2, 52059000, 9, 2, 5}
    Type:      16-bit big-endian integer
0-0-3                    Dataset {2/2, 3500/3500, 7437/7437}
    Attribute: AI1 scalar
        Type:      native long
        Data:  1
    Attribute: AI2 scalar
        Type:      native long
        Data:  1
    Attribute: AI3 scalar
        Type:      native long
        Data:  0
    Attribute: AI4 scalar
        Type:      native long
        Data:  0
    Attribute: BeamDump1I scalar
        Type:      native double
        Data:  1.4829
    Attribute: BeamDump2I scalar
        Type:      native double
        Data:  2.41205
    Attribute: BrightnessA scalar
        Type:      native double
        Data:  30
    Attribute: BrightnessB scalar
        Type:      native double
        Data:  30
    Attribute: ChamVac scalar
        Type:      native double
        Data:  3.14883e-07
    Attribute: ChanNum scalar
        Type:      native long
        Data:  2
    Attribute: ContrastA scalar
        Type:      native double
        Data:  26
    Attribute: ContrastB scalar
        Type:      native double
        Data:  38
    Attribute: DecimatingFactor scalar
        Type:      native long
        Data:  14
    Attribute: DetA scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "InLens"
    Attribute: DetB scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "ESB @ 600 V"
    Attribute: DetC scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector C"
    Attribute: DetD scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Detector D"
    Attribute: Detmax scalar
        Type:      native double
        Data:  10
    Attribute: Detmin scalar
        Type:      native double
        Data:  -10
    Attribute: EHT scalar
        Type:      native double
        Data:  1.2
    Attribute: EightBit scalar
        Type:      native long
        Data:  0
    Attribute: FIBAlnX scalar
        Type:      native double
        Data:  22055
    Attribute: FIBAlnY scalar
        Type:      native double
        Data:  2640
    Attribute: FIBCurr scalar
        Type:      native double
        Data:  1.48926
    Attribute: FIBFOV scalar
        Type:      native double
        Data:  500
    Attribute: FIBFocus scalar
        Type:      native double
        Data:  14080
    Attribute: FIBProb scalar
        Type:      native long
        Data:  15
    Attribute: FIBRot scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftX scalar
        Type:      native double
        Data:  0
    Attribute: FIBShiftY scalar
        Type:      native double
        Data:  0
    Attribute: FIBSliceNum scalar
        Type:      native long
        Data:  16670
    Attribute: FIBSpecimenI scalar
        Type:      native double
        Data:  28.7343
    Attribute: FIBStiX scalar
        Type:      native double
        Data:  15
    Attribute: FIBStiY scalar
        Type:      native double
        Data:  -17
    Attribute: FaradayCupI scalar
        Type:      native double
        Data:  14.4482
    Attribute: FileLength scalar
        Type:      native long
        Data:  104119024
    Attribute: FileMagicNum scalar
        Type:      native long
        Data:  3555587570
    Attribute: FileType scalar
        Type:      native long
        Data:  1
    Attribute: FileVersion scalar
        Type:      native long
        Data:  9
    Attribute: FirstX scalar
        Type:      native long
        Data:  7060
    Attribute: FirstY scalar
        Type:      native long
        Data:  -3073
    Attribute: FocusIndex scalar
        Type:      native double
        Data:  1.47181
    Attribute: FramelineRampdownRatio scalar
        Type:      native double
        Data:  0.1
    Attribute: GunVac scalar
        Type:      native double
        Data:  5.23833e-10
    Attribute: HighCurrent scalar
        Type:      native long
        Data:  0
    Attribute: MachineID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Jeiss3/Merlin-6257"
    Attribute: Mag scalar
        Type:      native double
        Data:  381.131
    Attribute: MillingI scalar
        Type:      native double
        Data:  12.9946
    Attribute: MillingLineTime scalar
        Type:      native double
        Data:  20.5
    Attribute: MillingLinesPerImage scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDD scalar
        Type:      native double
        Data:  0
    Attribute: MillingPIDI scalar
        Type:      native double
        Data:  0.01
    Attribute: MillingPIDMeasured scalar
        Type:      native long
        Data:  3
    Attribute: MillingPIDOn scalar
        Type:      native long
        Data:  1
    Attribute: MillingPIDP scalar
        Type:      native double
        Data:  0.001
    Attribute: MillingPIDTarget scalar
        Type:      native double
        Data:  13
    Attribute: MillingPIDTargetSlope scalar
        Type:      native double
        Data:  0
    Attribute: MillingULAng scalar
        Type:      native double
        Data:  89
    Attribute: MillingURAng scalar
        Type:      native double
        Data:  91
    Attribute: MillingXResolution scalar
        Type:      native long
        Data:  4096
    Attribute: MillingXSize scalar
        Type:      native double
        Data:  336
    Attribute: MillingYResolution scalar
        Type:      native long
        Data:  46251
    Attribute: MillingYSize scalar
        Type:      native double
        Data:  370
    Attribute: MillingYVoltage scalar
        Type:      native double
        Data:  0.132486
    Attribute: Mode scalar
        Type:      native long
        Data:  0
    Attribute: Notes scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18, BF 336x121um, 25.0s @13.0nA /8nm @15nA-4, lens2 14130-50V = 14080V, bias 0V, deflector -200V"
    Attribute: Oversampling scalar
        Type:      native long
        Data:  8
    Attribute: PixelSize scalar
        Type:      native double
        Data:  7.99986
    Attribute: RawHeader {1024}
        Type:      native unsigned char
        Data:
            (0) 211, 237, 245, 242, 0, 9, 0, 1, 48, 52, 47, 50, 48, 47, 50, 48, 50, 49, 0, 0, 0, 0, 0, 0, 62, 101, 121, 142, 226, 48, 140, 58, 2, 0, 0, 0, 73, 244, 36, 0, 197, 190, 205, 103, 63, 21, 221, 3, 61, 163, 215, 10, 73, 244, 36, 0, 197, 168, 61, 197, 60, 185, 154, 210, 64,
            (65) 0, 0, 0, 0, 0, 0, 0, 27, 148, 255, 255, 243, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 13, 0, 0, 13, 172, 0, 8, 0, 3, 74, 62, 188, 32, 61, 204, 204, 205, 192, 175, 8, 164, 192, 42, 142, 130, 193, 32, 0, 0, 65, 32, 0, 0, 0, 14,
            (138) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 0, 0, 0, 0, 0, 0, 0, 90, 48, 55, 50, 48, 45, 48, 55, 109, 95, 66, 82, 95, 83, 101, 99, 49, 56, 44, 32, 66, 70, 32, 51, 51, 54, 120, 49, 50,
            (209) 49, 117, 109, 44, 32, 50, 53, 46, 48, 115, 32, 64, 49, 51, 46, 48, 110, 65, 32, 47, 56, 110, 109, 32, 64, 49, 53, 110, 65, 45, 52, 44, 32, 108, 101, 110, 115, 50, 32, 49, 52, 49, 51, 48, 45, 53, 48, 86, 32, 61, 32, 49, 52, 48, 56, 48, 86, 44, 32, 98, 105, 97, 115,
            (272) 32, 48, 86, 44, 32, 100, 101, 102, 108, 101, 99, 116, 111, 114, 32, 45, 50, 48, 48, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (351) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 110, 76, 101, 110, 115, 0, 0, 0, 0, 69, 83, 66, 32, 64, 32, 54, 48, 48, 32, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 67, 0, 0, 0, 0, 0, 0, 0,
            (427) 0, 0, 0, 68, 101, 116, 101, 99, 116, 111, 114, 32, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 190, 144, 200, 64, 255, 254, 212, 64, 97, 141, 217, 63, 153, 153, 154, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 78, 40, 143, 0, 0, 0, 0,
            (498) 52, 169, 13, 41, 48, 15, 253, 113, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 63, 236, 67, 14, 63, 52, 28, 100, 63, 187, 72, 190, 64, 54, 4, 58, 66, 125, 128, 1, 66, 129, 190, 251, 65, 239, 153, 154, 0, 0, 0, 0, 67, 70, 250, 214, 0, 0, 0, 0, 0, 0, 65, 240, 0, 0, 65,
            (565) 208, 0, 0, 65, 240, 0, 0, 66, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 92, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 190, 160, 0, 0, 0, 0, 0, 70, 172, 78, 0, 69, 37, 0, 0, 65, 112, 0, 1, 193, 136, 0, 0,
            (644) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 180, 171, 67, 168, 0, 0, 67, 185, 0, 0, 66, 178, 0, 0, 66, 182, 0, 0, 65, 164, 0, 0, 67, 250, 0, 0, 0, 1, 1, 0, 0, 3, 65, 80, 0, 0, 0, 0, 0, 0, 58, 131, 18, 111, 60, 35, 215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (720) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 101, 105, 115, 115,
            (805) 51, 47, 77, 101, 114, 108, 105, 110, 45, 54, 50, 53, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 145, 0, 0, 65, 103, 44, 0, 65, 229, 223, 212, 63, 189, 207, 189, 191, 220, 94, 63, 62, 7, 170, 99, 63, 188,
            (876) 100, 88, 0, 0, 65, 30, 64, 26, 95, 3, 65, 79, 234, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            (960) 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 52, 186, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    Attribute: Restart scalar
        Type:      native long
        Data:  0
    Attribute: SEMAlnX scalar
        Type:      native double
        Data:  1.46316
    Attribute: SEMAlnY scalar
        Type:      native double
        Data:  2.84401
    Attribute: SEMApr scalar
        Type:      native long
        Data:  30
    Attribute: SEMCurr scalar
        Type:      native double
        Data:  3e-09
    Attribute: SEMRot scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftX scalar
        Type:      native double
        Data:  0
    Attribute: SEMShiftY scalar
        Type:      native double
        Data:  -0
    Attribute: SEMSpecimenI scalar
        Type:      native double
        Data:  0
    Attribute: SEMSpecimenICurrent scalar
        Type:      native double
        Data:  -1.72163
    Attribute: SEMStiX scalar
        Type:      native double
        Data:  1.8458
    Attribute: SEMStiY scalar
        Type:      native double
        Data:  0.703558
    Attribute: SWdate scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "04/20/2021"
    Attribute: SampleID scalar
        Type:      variable-length null-terminated UTF-8 string
        Data:  "Z0720-07m_BR_Sec18"
    Attribute: Scaling {2, 4}
        Type:      native double
        Data:
            (0,0) 2e+06, -6105.68, 0.585404, 0.08,
            (1,0) 2e+06, -5383.72, 0.0226568, 2
    Attribute: ScanRate scalar
        Type:      native double
        Data:  3.125e+06
    Attribute: StageM scalar
        Type:      native double
        Data:  0
    Attribute: StageMove scalar
        Type:      native long
        Data:  0
    Attribute: StageR scalar
        Type:      native double
        Data:  198.98
    Attribute: StageT scalar
        Type:      native double
        Data:  0
    Attribute: StageX scalar
        Type:      native double
        Data:  63.375
    Attribute: StageY scalar
        Type:      native double
        Data:  64.873
    Attribute: StageZ scalar
        Type:      native double
        Data:  29.95
    Attribute: Temperature scalar
        Type:      native double
        Data:  72.5
    Attribute: TimeStep scalar
        Type:      native double
        Data:  4e-08
    Attribute: WD scalar
        Type:      native double
        Data:  3.52428
    Attribute: XResolution scalar
        Type:      native long
        Data:  7437
    Attribute: Xmax scalar
        Type:      native double
        Data:  -2.66495
    Attribute: Xmin scalar
        Type:      native double
        Data:  -5.4698
    Attribute: YResolution scalar
        Type:      native long
        Data:  3500
    Attribute: ZeissScanSpeed scalar
        Type:      native long
        Data:  3
    Location:  1:217499585
    Links:     1
    Chunks:    {1, 3500, 7437} 52059000 bytes
    Storage:   104118000 logical bytes, 72867340 allocated bytes, 142.89% utilization
    Filter-0:  blosc-32001 OPT {2, 2, 2, 52059000, 9, 2, 5}
    Type:      16-bit big-endian integer

Merlin-6257_21-05-20_125527.h5ls.txt

@clbarnes
Copy link
Collaborator

I also wrote hcl for interactively navigating hdf5 hierarchies and interrogating attributes etc. That there are lots of tools for working with HDF5 files in every way imaginable (and that writing more HDF5 tools are widely useful) is another reason to try to move towards that format rather than something needlessly proprietary.

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

I also wrote hcl for interactively navigating hdf5 hierarchies and interrogating attributes etc.

Have you found particular advantages of your tools over h5dump and h5ls from https://portal.hdfgroup.org/display/HDF5/HDF5+Command-line+Tools ?

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

unsigned 16-bit data type as opposed to signed like it does now

One thing I am considering if whether the scale-offset filter could be used with other tools to address the issue that @acardona raises. At the very least we could encode the minimum as an offset within the scale-offset filter.

2. Deinterleave

This may be addressable using a virtual dataset with a hyperslab with stride = (1,1,2).

@mkitti
Copy link
Collaborator

mkitti commented May 25, 2022

One approach I am investigating is the external dataset feature. This allows us to address a DAT file via a HDF5 interface. This avoids the problem of duplicating the image data. It also provides a space for us to store HDF5 attributes.

import h5py
import os

dat_file_basename = "Merlin-6257_21-05-20_125527_0-0-0"
dat_filename = dat_file_basename + ".dat"
# attrs = parse_header(dat_filename)

# Can be calculated from attributes
offset = 1024
shape = (3500, 7437, 2)
datatype_nbytes = 2
nbytes = shape[0] * shape[1] * shape[2] * datatype_nbytes
file_length = offset + nbytes
actual_file_length = os.path.getsize(dat_filename)
recipe_nbytes = actual_file_length - file_length

with h5py.File(dat_file_basename + "_external.h5", "w") as h5f:
    header = h5f.create_dataset(
            "0-0-0_header",
            offset,
            dtype='u1',
            external=[(dat_filename, 0, offset)]
    )
    ds = h5f.create_dataset(
            "0-0-0",
            shape,
            dtype='>i2',
            external=[(dat_filename, offset, nbytes)]
    )
    recipe = h5f.create_dataset(
            "0-0-0_recipe",
            (recipe_nbytes,),
            dtype='u1',
            external=[(dat_filename, file_length, recipe_nbytes)]
    )
    # Add parsed attributes to dataset ds
    # for key, value in 
    # ds.attrs[key] = value

The main advantage of this is that it allows to use and build tools that focus on reading HDF5 files rather than manipulating DAT files. If we combine the above with one of the DAT header readers or perhaps a LabView module that writes HDF5 attributes directly, then we may be able to eliminate the need for DAT readers by others. Since this approach avoids rewriting the image data, it is very fast. The actual file produced is about 2KB.

We could generate such HDF5 files very close to acquisition without significant resources.

$ h5ls -va Merlin-6257_21-05-20_125527_0-0-0_external.h5 
Opened "Merlin-6257_21-05-20_125527_0-0-0_external.h5" with sec2 driver.
0-0-0                    Dataset {3500/3500, 7437/7437, 2/2}
    Location:  1:1480
    Links:     1
    Extern:    1 external file
          ID  DSet-Addr  File-Addr      Bytes File
        ---- ---------- ---------- ---------- -------------------------------------
        #000          0       1024  104118000 Merlin-6257_21-05-20_125527_0-0-0.dat
        ---- ---------- ---------- ---------- -------------------------------------
    Storage:   104118000 logical bytes, 104118000 allocated bytes, 100.00% utilization
    Type:      16-bit big-endian integer
    Address:   UNDEF
0-0-0_header             Dataset {1024/1024}
    Location:  1:800
    Links:     1
    Extern:    1 external file
          ID  DSet-Addr  File-Addr      Bytes File
        ---- ---------- ---------- ---------- -------------------------------------
        #000          0          0       1024 Merlin-6257_21-05-20_125527_0-0-0.dat
        ---- ---------- ---------- ---------- -------------------------------------
    Storage:   1024 logical bytes, 1024 allocated bytes, 100.00% utilization
    Type:      native unsigned char
    Address:   UNDEF
0-0-0_recipe             Dataset {4667/4667}
    Location:  1:1832
    Links:     1
    Extern:    1 external file
          ID  DSet-Addr  File-Addr      Bytes File
        ---- ---------- ---------- ---------- -------------------------------------
        #000          0  104119024       4667 Merlin-6257_21-05-20_125527_0-0-0.dat
        ---- ---------- ---------- ---------- -------------------------------------
    Storage:   4667 logical bytes, 4667 allocated bytes, 100.00% utilization
    Type:      native unsigned char
    Address:   UNDEF

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

I went ahead and moved forward with writing the metadata as HDF5 attributes directly from LabView. If we can write these attributes into a HDF5 file at or near acquisition, that removes most of the need for header specifications or readers going forward.

I'm confused what attribute names we have decided to use. I just translated the wire names to snake_case for now. There are some discrepancies in the diagram. Y and Z seems swapped in some places. @d-v-b 's code has an offset at 980 for SEMSpecimenI, which does not exist here nor in the diagram above.

Zeiss_File_Header_Tclk_HDF5d

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

A minimalist approach to acquisition software modification would involve creating a template through the LabView equivalent of this code.

import h5py
import os

dat_file_basename = "Merlin-6257_21-05-20_125527_0-0-0"
dat_filename = dat_file_basename + ".dat"
# attrs = parse_header(dat_filename)

# Can be calculated from attributes
offset = 1024
shape = (3500, 7437, 2)
datatype_nbytes = 2
nbytes = shape[0] * shape[1] * shape[2] * datatype_nbytes
file_length = offset + nbytes
actual_file_length = os.path.getsize(dat_filename)
recipe_nbytes = actual_file_length - file_length

with h5py.File(dat_file_basename + "_template.h5", "w", userblock_size = offset) as h5f:
    # Create image dataset, fill with 1s for illustration
    ds = h5f.create_dataset(
            "0-0-0",
            shape,
            dtype='>i2',
            fillvalue = 1
    )
    # Could use H5Pset_alloc_time early instead
    ds[0] = 1
    ds[shape[0]-1, shape[1]-1, shape[2]-1] = 1

    # Create recipe dataset, fill with 2s for illustration
    recipe = h5f.create_dataset(
            "0-0-0_recipe",
            (recipe_nbytes,),
            dtype='u1',
            fillvalue = 2
    )
    # Could use H5Pset_alloc_time early instead
    recipe[0] = 2
    recipe[recipe_nbytes-1] = 2


    # Add parsed attributes to dataset ds
    # for key, value in 
    # ds.attrs[key] = value

This produces a file with the following properties:

$ h5ls -va Merlin-6257_21-05-20_125527_0-0-0_template.h5 
Opened "Merlin-6257_21-05-20_125527_0-0-0_template.h5" with sec2 driver.
0-0-0                    Dataset {3500/3500, 7437/7437, 2/2}
    Location:  1:800
    Links:     1
    Storage:   104118000 logical bytes, 104118000 allocated bytes, 100.00% utilization
    Type:      16-bit big-endian integer
    Address:   2048
0-0-0_recipe             Dataset {4667/4667}
    Location:  1:1400
    Links:     1
    Storage:   4667 logical bytes, 4667 allocated bytes, 100.00% utilization
    Type:      native unsigned char
    Address:   104120048

and the following hexdump:

$ hexdump Merlin-6257_21-05-20_125527_0-0-0_template.h5 
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 4889 4644 0a0d 0a1a 0000 0000 0800 0008
0000410 0004 0010 0000 0000 0400 0000 0000 0000
0000420 ffff ffff ffff ffff d52b 0634 0000 0000
0000430 ffff ffff ffff ffff 0000 0000 0000 0000
0000440 0060 0000 0000 0000 0001 0000 0000 0000
0000450 0088 0000 0000 0000 02a8 0000 0000 0000
0000460 0001 0001 0001 0000 0018 0000 0000 0000
0000470 0011 0010 0000 0000 0088 0000 0000 0000
0000480 02a8 0000 0000 0000 5254 4545 0000 0001
0000490 ffff ffff ffff ffff ffff ffff ffff ffff
00004a0 0000 0000 0000 0000 0430 0000 0000 0000
00004b0 0010 0000 0000 0000 0000 0000 0000 0000
00004c0 0000 0000 0000 0000 0000 0000 0000 0000
*
00006a0 0000 0000 0000 0000 4548 5041 0000 0000
00006b0 0058 0000 0000 0000 0020 0000 0000 0000
00006c0 02c8 0000 0000 0000 0000 0000 0000 0000
00006d0 2d30 2d30 0030 0000 2d30 2d30 5f30 6572
00006e0 6963 6570 0000 0000 0001 0000 0000 0000
00006f0 0038 0000 0000 0000 0000 0000 0000 0000
0000700 0000 0000 0000 0000 0000 0000 0000 0000
*
0000720 0001 0006 0001 0000 0100 0000 0000 0000
0000730 0001 0038 0000 0000 0301 0001 0000 0000
0000740 0dac 0000 0000 0000 1d0d 0000 0000 0000
0000750 0002 0000 0000 0000 0dac 0000 0000 0000
0000760 1d0d 0000 0000 0000 0002 0000 0000 0000
0000770 0003 0010 0001 0000 0910 0000 0002 0000
0000780 0000 0010 0000 0000 0005 0010 0001 0000
0000790 0202 0102 0002 0000 0100 0000 0000 0000
00007a0 0004 0008 0001 0000 0002 0000 0100 0000
00007b0 0008 0018 0000 0000 0103 0800 0000 0000
00007c0 0000 b6f0 0634 0000 0000 0000 0000 0000
00007d0 0000 0058 0000 0000 0000 0000 0000 0000
00007e0 0000 0000 0000 0000 0000 0000 0000 0000
*
0000830 4e53 444f 0001 0002 0008 0000 0000 0000
0000840 0320 0000 0000 0000 0000 0000 0000 0000
0000850 0000 0000 0000 0000 0000 0000 0000 0000
0000860 0010 0000 0000 0000 0578 0000 0000 0000
0000870 0000 0000 0000 0000 0000 0000 0000 0000
*
0000970 0000 0000 0000 0000 0001 0006 0001 0000
0000980 0100 0000 0000 0000 0001 0018 0000 0000
0000990 0101 0001 0000 0000 123b 0000 0000 0000
00009a0 123b 0000 0000 0000 0003 0010 0001 0000
00009b0 0010 0000 0001 0000 0000 0008 0000 0000
00009c0 0005 0010 0001 0000 0202 0102 0001 0000
00009d0 0002 0000 0000 0000 0004 0008 0001 0000
00009e0 0001 0000 0002 0000 0008 0018 0000 0000
00009f0 0103 bef0 0634 0000 0000 123b 0000 0000
0000a00 0000 0000 0000 0000 0000 0078 0000 0000
0000a10 0000 0000 0000 0000 0000 0000 0000 0000
*
0000c00 0100 0100 0100 0100 0100 0100 0100 0100
*
634c2f0 0202 0202 0202 0202 0202 0202 0202 0202
*
634d52b

The first column are the addresses in hexadecimal. 0x0000400 is the start of the HDF5 header. 0x0000c00 is where the image data starts as indicated by the 0x0100. 0x634c2f0 is where the second dataset for recipe data is stored as indicated by the 0x0202.

If we can generate this template just before acquisition starts and have the acquisition software open this file instead of creating a new one, then we only have to modify one value in LabView, changing 1024 to 3072 in "2D Scan Tclk.vi":

image

The current software with the above modification will then do the following:

  1. Write the original DAT header until byte 1024 (0x0000400).
  2. Seek to byte 3072 (0x0000c00) and write the image data.
  3. Write the recipe data after the image date at 0x634c2f0
  4. We can then run the LabView based HDF5 attribute writer above to add attributes to the dataset.

Alternatively, if we let the acquisition software run first with the 1024 -> 3072 change, we could just write in the bytes between 0x0000400 and 0x0000c00 after acquisition. Davis is not a fan of the second approach because of the possibility of corrupting the image data.

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

Once we have a HDF5 file, it not be hard to reprocess the file. The HDF5 library itself can use hyperslab selection to deinterlace the image quickly in C. Alternatively we can do this virtually by storing the hyperslab in a virtual dataset.

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

The code already seems to have a toggle to record one or two channels. This means the decision to record a channel is configurable by microscope operator.

Both channels:
image

Detector A only:
image

Detector B only:
image

Here is a similar feature in another part of the code:
image

Thinking about it, the 4th picture is actually when the data is being fed into the write buffer, but the top 3 pictures include the portion where the data is actually being written.

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

The toggles for Detectors A and B are depicted below on the main control panel.

image

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

One significant difference between writing into HDF5 datasets and into the file as above is that writing into a HDF5 dataset is usually done at the scale of entire buffers:
https://portal.hdfgroup.org/display/HDF5/H5D_WRITE

herr_t H5Dwrite( hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t xfer_plist_id, const void * buf ) 

While it is possible to define a HDF5 space for integer by integer writing, this would be a significant modification of the I/O process.

@acardona
Copy link
Collaborator Author

Shan Xu replied to my email a couple of days ago: his software has already two checkboxes for whether a channel is to be saved or not. They are named "Det", and says Shan: "One can uncheck Det B (ESB) so that only Det A (InLens) is recorded."

In other words, not knowing well the UI cost us some storage costs, fortunately only for 2 smallish datasets. Now we can halve the storage and avoid the deinterleaving.

The signed vs unsigned can be solved by adding +32768 to the values, so it isn't onerous with an e.g., ImgLib2 converter filter upon reading the file.

@clbarnes
Copy link
Collaborator

clbarnes commented May 26, 2022

The signed vs unsigned can be solved by adding +32768 to the values, so it isn't onerous with an e.g., ImgLib2 converter filter upon reading the file.

What are the pixel values actually measuring? Adding that constant obviously converts i16 to u16, but if they're both on arbitrary scales it doesn't really matter. The minimum values I recall seeing are nowhere near -intmax. If the original values are completely arbitrary, they should be written in u16; if they're not, we should try to keep them raw in case they correspond to the scaling values in the metadata; if they are not arbitrary but our contrast corrections are purely relative to other data values, then surely we can feed the i16 directly in rather than doing the addition and then exactly the same scaling?

Have you found particular advantages of your tools over h5dump and h5ls from https://portal.hdfgroup.org/display/HDF5/HDF5+Command-line+Tools ?

If I don't know what's in an HDF5 file, I find it more comfortable to interactively explore it rather than ask specific things one at a time. As an analogy, if I don't know what's in a server, I SSH into a shell on that server to explore it rather than running ssh $SERVER find . -type f etc.. But it was at least partially just an excuse to learn prompt_toolkit.

A minimalist approach to acquisition software modification would involve creating a template through the LabView equivalent of this code.

Thanks Mark! Looks like a move in the right direction. So the idea is the pre-allocate an empty HDF5 file and then write into that rather than building a file as we go? That seems like a good idea either way. It would definitely benefit from the unfinished file having an extra extension (.part or whatever) and then being renamed at the very end of the process so that it's easy for filesystem tools to distinguish them.

Could you go into more detail about the recipe dataset? Is that another name for the header or is that additional? Some files seem to have a footer, is that related? My roundtrip code now includes the footer too.

Is there a benefit to writing the header into the userblock, as opposed to just writing it in as a uint8 array group attribute or even a uint8 dataset?

I'm confused what attribute names we have decided to use. I just translated the wire names to snake_case for now.

I don't have strong feelings about snake/Camel/ etc., I only went to snake for mine as I was changing the names anyway (to make them more explicit and re-order them so that e.g. resolution became a tuple). The important thing is making them more explicit: no sense in saving a few characters in variable names if the files can be made that much more self-documenting.

At the very least we could encode the minimum as an offset within the scale-offset filter.

If we're writing metadata at the end anyway, and we're going to be doing purely data-dependent filtering, then storing the actual recorded min and max values would definitely be helpful.

@acardona
Copy link
Collaborator Author

As far as I have seen, the pixel measurements are straighforward. They are saved as int16 instead of uint16 for mysterious reasons, likely it was the default or something and Shan went with that.

In our processing at the LMB, I compute the min, then I make all values in each image relative to that in uint16. Empirically works well and as expected.

Going forward, I'm just going to add 32768 when reading the pixels. Less processing.

@acardona
Copy link
Collaborator Author

A general comment: I cannot understand why you at Janelia think you can't change the software. Of course you can. Don't try to work with limitations that come to you from "above", when those above don't know or understand yet the issue in the first place.

@d-v-b
Copy link
Collaborator

d-v-b commented May 26, 2022

The signed vs unsigned can be solved by adding +32768 to the values, so it isn't onerous with an e.g., ImgLib2 converter >filter upon reading the file.

What are the pixel values actually measuring? Adding that constant obviously converts i16 to u16, but if they're both on >arbitrary scales it doesn't really matter. The minimum values I recall seeing are nowhere near -intmax. If the original values >are completely arbitrary, they should be written in u16; if they're not, we should try to keep them raw in case they >correspond to the scaling values in the metadata; if they are not arbitrary but our contrast corrections are purely relative to >other data values, then surely we can feed the i16 directly in rather than doing the addition and then exactly the same >scaling?

If I recall correctly, the SEM detectors emit emit a voltage (i.e., a value that fluctuates around 0), which is then digitized to a range of integers that is also centered on 0 (int16). Via some other metadata in the dat header, this signed values can be mapped to unsigned electron counts. The only downside I can imagine to converting from int16 to uint16 is that it ultimately makes it a teeny bit harder to map intensities to electron counts (if thats something you want to do), but I don't think this is a significant burden.

If we're writing metadata at the end anyway, and we're going to be doing purely data-dependent filtering, then storing the actual recorded min and max values would definitely be helpful.

Yes, this would be super useful for the inevitable contrast normalization step, or converting from 16 bit ints down to 8 bit ints.

I don't have strong feelings about snake/Camel/ etc

Neither do I, either is totally fine with me.

I cannot understand why you at Janelia think you can't change the software. Of course you can. Don't try to work with limitations that come to you from "above", when those above don't know or understand yet the issue in the first place.

The answer is very simple: we have explained these issues, and the people in control of the acquisition software / devices did not want to change the software to address them. From their perspective, the status quo is acceptable. This limitation comes from "above", but that's fine -- this software is an important part of ensuring that the FIBSEM acquisition is stable, so the people managing acquisition should be cautious about changing it. So the challenge is convincing the people in charge of the acquisition machines that these software changes are a) safe, and b) important for accelerating science. I think we can do both, but it's not a trivial process.

@StephanPreibisch
Copy link
Contributor

A general comment: I cannot understand why you at Janelia think you can't change the software. Of course you can. Don't try to work with limitations that come to you from "above", when those above don't know or understand yet the issue in the first place.

As @d-v-b said, we need to carefully balance the needs of the labs that have a running pipeline, small projects, and large projects. We can discuss more in Berlin @acardona, but for now I am even happy with a robust post-acquisition resaving tool. In the long run it will convince people to change, I am sure of it ...

@mkitti
Copy link
Collaborator

mkitti commented May 26, 2022

Going forward, I'm just going to add 32768 when reading the pixels. Less processing.

Be careful not to overflow the int16 in the process. Is it possible to do a bitcast to uint16 in your language of choice before adding this value?

About the HDF5 scale-offset filter:

https://confluence.hdfgroup.org/display/HDF5/H5P_SET_SCALEOFFSET

For this purpose, the offset part of this filter would allow us to define a fixed offset for a dataset. When someone reads the data using H5Dread the filter will automatically add the offset. It does not actually change the values on disk.

Perhaps a better idea would be to process the data once and store the minimum value as an attribute so it does not need to happen on each read.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants