Skip to content

Fix FormatHDF5Lambda#854

Merged
dagewa merged 5 commits intomainfrom
Fix-FormatHDF5Lambda
Oct 17, 2025
Merged

Fix FormatHDF5Lambda#854
dagewa merged 5 commits intomainfrom
Fix-FormatHDF5Lambda

Conversation

@dagewa
Copy link
Member

@dagewa dagewa commented Oct 1, 2025

This format suffered bit rot over the years. These changes get it working again (apparently) for Luc's data from #853 (comment) and Gleb's original data file.

@dagewa dagewa requested a review from luc-j-bourhis October 1, 2025 15:13
@luc-j-bourhis
Copy link

As far as I can tell, it fails later with the input file I linked above:

File "C:\Users\luc.bourhis\Developer\Bruker\LIMMAT\dials-sandbox\dials-sandbox\import-tecnai.py", line 3, in <module>
  run()
File "C:\_DEV\miniconda\envs\dials\Lib\contextlib.py", line 81, in inner
  return func(*args, **kwds)
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dials\command_line\dials_import.py", line 1012, in run
  do_import(args, phil=phil, configure_logging=True)
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dials\command_line\dials_import.py", line 857, in do_import
  params, options, unhandled = parser.parse_args(
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dials\util\options.py", line 876, in parse_args
  params, args = self._phil_parser.parse_args(
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dials\util\options.py", line 558, in parse_args
  importer = Importer(
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dials\util\options.py", line 207, in __init__
  self.unhandled = self.try_read_experiments_from_images(
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dials\util\options.py", line 284, in try_read_experiments_from_images
  experiments = ExperimentListFactory.from_filenames(
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\model\experiment_list.py", line 702, in from_filenames
  imageset = format_class.get_imageset(
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\format\FormatMultiImage.py", line 161, in get_imageset
  format_instance = cls.get_instance(filenames[0], **format_kwargs)
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\format\Format.py", line 275, in get_instance
  Class._current_instance_ = Class(filename, **kwargs)
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\format\FormatHDF5.py", line 16, in __init__
  Format.__init__(self, image_file, **kwargs)
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\format\Format.py", line 169, in __init__
  self.setup()
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\format\Format.py", line 185, in setup
  detector_instance = self._detector()
File "C:\_DEV\miniconda\envs\dials\Lib\site-packages\dxtbx\format\FormatHDF5Lambda.py", line 68, in _detector
  1.0e-3 * detector["x_pixel_size"].value,

builtins.AttributeError: Please report this error at https://github.com/dials/dials/issues or to dials-user-group@jiscmail.ac.uk: 'Dataset' object has no attribute 'value'

@dagewa
Copy link
Member Author

dagewa commented Oct 2, 2025

That seems to be falling over on a line that no longer exists (detector["x_pixel_size"].value). Could it be that you need to rebuild to get the new format class installed?

@dagewa
Copy link
Member Author

dagewa commented Oct 17, 2025

I'm confident this is correct following my local testing, so I will merge.

@dagewa dagewa merged commit 7855794 into main Oct 17, 2025
28 of 31 checks passed
@dagewa dagewa deleted the Fix-FormatHDF5Lambda branch October 17, 2025 13:31
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

Successfully merging this pull request may close these issues.

3 participants