tomviz icon indicating copy to clipboard operation
tomviz copied to clipboard

TVH5 file will not load

Open ercius opened this issue 3 years ago • 4 comments

Describe the bug I received an TVH5 file from a collaborator using tomviz 1.9.0. I tried loading it with File--Load State. Nothing happened and there is no error message. The file just does not load.

The file is a valid HDF5 file and can be viewed in HDFview and h5dump provides the attached output. h5dump_output.txt

I have tried saving and loading state files and get intermittent hard crashes as well. Im trying to pin it down to one set of operations.

To Reproduce Its hard to reproduce. I will try to provide the file to @cjh1 and I will work on steps to reproduce the error with the test datasets.

Expected behavior The state loads or an error message is provided Desktop (please complete the following information): Tomviz 1.9.0 on Windows 10

Hardware (please complete the following information): Razer Blade 13.

ercius avatar Mar 09 '21 17:03 ercius

OK, so I have taken a look at this. It looks like the TVH5 is missing the tomviz_state dataset ( where the pipeline information is stored ). Was this created using Tomviz? ( I assume so ), looks like an error might have occurred when writing it, preventing the state being successfully included. In order to get access to the data you can rename the file to have .emd ending and then just load the data, as TVH5 is a super set of EMD.

@psavery Do you have any idea what might have happen here?

cjh1 avatar Mar 10 '21 21:03 cjh1

Got it. Is the data that is loaded the original data? Or the modifed data at the end?

I also had some issues with trying to create state files myself. There might be some instabilities in the tomviz_state creation. Ill try to make it reproducible, but I was not initially able to do that.

ercius avatar Mar 11 '21 01:03 ercius

That is the original data. If you can recreate the problem creating the file that would be great, my guess is that is what happened.

cjh1 avatar Mar 11 '21 13:03 cjh1

Yeah, re-looking over the source code for creating the TVH5 files, this is roughly what happens (in this order):

  1. Write standard EMD file (using the currently selected data source)
  2. Write the state to the file
  3. Write all other data sources (all inputs and outputs)

If it's missing the state, it must have only succeeded in the first part, and failed in writing the state. I was able to run a quick test here locally and was able to write the TVH5 successfully, so there must be something specific in the setup that caused the state file writing to fail. Let us know if you are able to come up with reproducing instructions.

psavery avatar Mar 11 '21 15:03 psavery