cctbx / dxtbx

Diffraction Experiment Toolbox
BSD 3-Clause "New" or "Revised" License
2 stars 18 forks source link

Max IV Eiger work - vertical axis, to work nicely with dxtbx #9

Open graeme-winter opened 6 years ago

graeme-winter commented 6 years ago

See e.g. https://github.com/cctbx/cctbx_project/commit/66a61bad32a054d0a7c52b4fe3237b3a04406967 and conversation, ongoing work

graeme-winter commented 6 years ago

https://github.com/cctbx/cctbx_project/commit/2fac5f605bdc94f5903abe0866a876c9241f3c78

graeme-winter commented 6 years ago

@nksauter for info

graeme-winter commented 6 years ago

OK, following up now

Looked for this entry, see:

> h5dump -g /entry/sample/transformations/omega feedback-hewl_2_master.h5 

HDF5 "feedback-hewl_2_master.h5" {
GROUP "/entry/sample/transformations/omega" {
   ATTRIBUTE "vector" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SIMPLE { ( 3 ) / ( 3 ) }
      DATA {
      (0): 0, -1, 0
      }
   }
}
}

So will need to invert 'Y' anyway to have this work right... however, when I try to access this from h5py with

      print(handle['/entry/sample/transformations/omega'])

I get

Traceback (most recent call last):
  File "/Users/graeme/svn/cctbx/build/../modules/cctbx_project/dxtbx/command_line/print_header.py", line 49, in <module>
    print_header()
  File "/Users/graeme/svn/cctbx/build/../modules/cctbx_project/dxtbx/command_line/print_header.py", line 16, in print_header
    i = format_class(arg)
  File "/Users/graeme/svn/cctbx/modules/cctbx_project/dxtbx/format/FormatHDFEigerNearlyNexus.py", line 305, in __init__
    FormatHDF5.__init__(self, image_file, **kwargs)
  File "/Users/graeme/svn/cctbx/modules/cctbx_project/dxtbx/format/FormatHDF5.py", line 17, in __init__
    Format.__init__(self, image_file, **kwargs)
  File "/Users/graeme/svn/cctbx/modules/cctbx_project/dxtbx/format/Format.py", line 199, in __init__
    self.setup()
  File "/Users/graeme/svn/cctbx/modules/cctbx_project/dxtbx/format/Format.py", line 209, in setup
    self._start()
  File "/Users/graeme/svn/cctbx/modules/cctbx_project/dxtbx/format/FormatHDFEigerNearlyNexus.py", line 320, in _start
    fixer = EigerNXmxFixer(self._image_file, temp_file)
  File "/Users/graeme/svn/cctbx/modules/cctbx_project/dxtbx/format/FormatHDFEigerNearlyNexus.py", line 249, in __init__
    print(handle['/entry/sample/transformations/omega'])
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "/Users/graeme/svn/cctbx/base/Python.framework/Versions/2.7/lib/python2.7/site-packages/h5py/_hl/group.py", line 167, in __getitem__
    oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5o.pyx", line 190, in h5py.h5o.open
KeyError: "Unable to open object (object 'omega' doesn't exist)"

so for reasons which are unclear this can't find the same info that h5dump can see...