nxtomomill 2.1.0.dev1__tar.gz → 2.1.0.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nxtomomill-2.1.0.dev1/nxtomomill.egg-info → nxtomomill-2.1.0.dev2}/PKG-INFO +1 -1
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/h52nx.py +11 -5
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/baseacquisition.py +35 -3
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_acquisition_utils.py +2 -1
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_holotomo.py +7 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/hdf5converter.py +7 -10
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/confighandler.py +1 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/tests/test_confighandler.py +1 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/general_section.py +34 -1
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/h52nx.py +1 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/hdf5.py +10 -9
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/version.py +1 -1
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2/nxtomomill.egg-info}/PKG-INFO +1 -1
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill.egg-info/top_level.txt +0 -1
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/LICENSE +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/README.md +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/doc/conf.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/__main__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/blissfluo2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/blissfluoconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/dxfile2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/edf2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/edf2nx_check.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/edfconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/fluo2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/fluoconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/fscan2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/h5config.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/nxcopy.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/patch_nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/split_nxfile.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_bliss_fluo2nx_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_dxfile2nx_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_edf2nx_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_edf_config_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_fluo2nx_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_h52nx_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_h5_config_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_nx_copy.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_patch_nx_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_split_nxfile_app.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/z_concatenate_scans.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/zstages2nxs.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/baseconverter.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/dxfile/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/dxfile/dxfileconverter.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/dxfile/tests/test_dxfile.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/checks.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/edfconverter.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/tests/test_checks.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/tests/test_edf2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/tests/test_edf2nx_check.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/blissfluoscan.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/fluoconverter.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/fluoscan.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/tests/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/tests/test_fluoscan2D.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/tests/test_fluoscan3D.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fscan/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fscan/fscanconverter.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/backandforth.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/blisstomoconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/multitomo.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/pcotomoacquisition.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/standardacquisition.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/bliss_tomo_datasets.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_acquisition.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_back_and_forth.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_bliss_tomo_config.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_legacy.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/tests/test_multitomoacquisition.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/_context.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/_keys.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/_scan_type_finder.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/bliss_scan_type.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/detector.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/machine_current.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/series.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/timestamps.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/zseriesacquisition.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisitionConstructor.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/post_processing/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/post_processing/dark_flat_copy.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/tests/test_frame_flip.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/tests/test_h52nx_utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/tests/test_hdf5converter.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/version.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/configbase.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/dxconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/edfconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/fluoconfig.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/hdf5config.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/config/tests/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/tests/test_frame_group.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/io/tests/utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/ConfigBase.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/FrmFlatToNestedBase.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/NestedModelBase.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/general_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/instrument_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/source_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/blissfluo2nx/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/blissfluo2nx/blissfluo2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/blissfluo2nx/general_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/dx2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/dark_and_flat_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/detector_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/edf2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/general_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/keys_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/sample_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/unit_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/fluo2nx/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/fluo2nx/fluo2nx.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/fluo2nx/general_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/FrameGroup.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/_acquisitionstep.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/_context.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/entries_and_title_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/extra_params_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/frame_type_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/keys_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/multitomo_section.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_context.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_edf2nx_model.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_fluo2nx_model.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_h52nx_model.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_io_utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxdetector.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxinstrument.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxmonitor.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxobject.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxsample.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxsource.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxtomo.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/nxtransformations.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/nexus/utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/settings.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/test.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/datasets.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/resources/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/resources/edf2nx_config_files/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/resources/fluo2nx_config_files/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/resources/h52nx_config_files/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/test_version.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/utils/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/utils/bliss.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/tests/utils/dxfile.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/__init__.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/_os.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/flat_reducer.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/h5pyutils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/io.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/nexus.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/pintutils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/tests/test_flat_reducer.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/tests/test_nexus_utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/tests/test_utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/utils/utils.py +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill.egg-info/SOURCES.txt +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill.egg-info/dependency_links.txt +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill.egg-info/entry_points.txt +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill.egg-info/requires.txt +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/pyproject.toml +0 -0
- {nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nxtomomill
|
|
3
|
-
Version: 2.1.0.
|
|
3
|
+
Version: 2.1.0.dev2
|
|
4
4
|
Summary: applications and library to convert raw format to NXtomo format
|
|
5
5
|
Author-email: Henri Payno <henri.payno@esrf.fr>, Pierre Paleo <pierre.paleo@esrf.fr>, Pierre-Olivier Autran <pierre-olivier.autran@esrf.fr>, Jérôme Lesaint <jerome.lesaint@esrf.fr>, Alessandro Mirone <mirone@esrf.fr>
|
|
6
6
|
License:
|
|
@@ -207,8 +207,8 @@ def main(argv):
|
|
|
207
207
|
)
|
|
208
208
|
parser.add_argument(
|
|
209
209
|
"--read-mode",
|
|
210
|
-
default="
|
|
211
|
-
help="Options when reading bliss file. Valid values are 'locking', 'swmr' and '
|
|
210
|
+
default="robust",
|
|
211
|
+
help="Options when reading bliss file. Valid values are 'locking', 'swmr' and 'safe'. 'robust' is the default h5py read mode.",
|
|
212
212
|
)
|
|
213
213
|
# scan titles
|
|
214
214
|
parser.add_argument(
|
|
@@ -284,6 +284,12 @@ def main(argv):
|
|
|
284
284
|
f"are: {_getPossibleInputParams()}. Should be added at the end of the command line because "
|
|
285
285
|
"will try to cover all text set after this option.",
|
|
286
286
|
)
|
|
287
|
+
# output entries
|
|
288
|
+
parser.add_argument(
|
|
289
|
+
"--output-entries",
|
|
290
|
+
default=None,
|
|
291
|
+
help="Provide names of the output entries (HDF5 group path).",
|
|
292
|
+
)
|
|
287
293
|
|
|
288
294
|
# config file
|
|
289
295
|
parser.add_argument(
|
|
@@ -303,10 +309,10 @@ def main(argv):
|
|
|
303
309
|
callback_det_sel = None
|
|
304
310
|
|
|
305
311
|
# define reading mode
|
|
306
|
-
read_mode = os.getenv("NXTOMOMILL_HDF5_READ_MODE", "
|
|
307
|
-
if options.read_mode not in ("
|
|
312
|
+
read_mode = os.getenv("NXTOMOMILL_HDF5_READ_MODE", "robust")
|
|
313
|
+
if options.read_mode not in ("robust", "safe", "swmr"):
|
|
308
314
|
raise ValueError(
|
|
309
|
-
f"Invalid read mode: {read_mode}. Valid values are '
|
|
315
|
+
f"Invalid read mode: {read_mode}. Valid values are 'robust', 'safe' and 'swmr'"
|
|
310
316
|
)
|
|
311
317
|
os.environ["NXTOMOMILL_HDF5_READ_MODE"] = options.read_mode
|
|
312
318
|
|
|
@@ -134,6 +134,7 @@ class BaseAcquisition:
|
|
|
134
134
|
The idea is to avoid asking him if """
|
|
135
135
|
self._configuration = copy.deepcopy(configuration)
|
|
136
136
|
"""configuration to the conversion to be done. As we are modifying some values (keys...) and those depends on the acquisition context we need to copy it"""
|
|
137
|
+
self._configuration.output_entries = configuration.output_entries
|
|
137
138
|
self._start_index = start_index
|
|
138
139
|
|
|
139
140
|
# set of properties when an acquisition needs to copy dark / flat (used in the case of z-series version 3)
|
|
@@ -182,8 +183,22 @@ class BaseAcquisition:
|
|
|
182
183
|
output_file_basename.rstrip(possible_extension)
|
|
183
184
|
file_extension_ = possible_extension
|
|
184
185
|
|
|
185
|
-
def get_file_name_and_entry(
|
|
186
|
-
|
|
186
|
+
def get_file_name_and_entry(
|
|
187
|
+
index: int, divide_sub_files: bool, entry: str | None
|
|
188
|
+
) -> tuple[str, str]:
|
|
189
|
+
"""
|
|
190
|
+
Docstring for get_file_name_and_entry
|
|
191
|
+
|
|
192
|
+
:param index: index of the entry in the input file
|
|
193
|
+
:param divide_sub_files: If True this mean the NXtomo will be split into several NXtomo. Case of multi-tomo.
|
|
194
|
+
:param entry: entry path if defined directly by the user.
|
|
195
|
+
"""
|
|
196
|
+
if entry is None:
|
|
197
|
+
entry = "entry" + str(index).zfill(4)
|
|
198
|
+
elif not isinstance(entry, str):
|
|
199
|
+
raise TypeError(
|
|
200
|
+
f"entry should be an instance of {str}. Got {type(entry)}"
|
|
201
|
+
)
|
|
187
202
|
|
|
188
203
|
if self.configuration.single_file or not divide_sub_files:
|
|
189
204
|
en_output_file = self.configuration.output_file
|
|
@@ -212,8 +227,20 @@ class BaseAcquisition:
|
|
|
212
227
|
|
|
213
228
|
result = []
|
|
214
229
|
for i_nx_tomo, nx_tomo in enumerate(nx_tomos):
|
|
230
|
+
if self.configuration.output_entries is not None:
|
|
231
|
+
try:
|
|
232
|
+
output_entry = self.configuration.output_entries.pop()
|
|
233
|
+
except IndexError:
|
|
234
|
+
raise ValueError(
|
|
235
|
+
"Not enough 'output_entries' provided for the number of nxtomo generated."
|
|
236
|
+
)
|
|
237
|
+
else:
|
|
238
|
+
output_entry = None
|
|
239
|
+
|
|
215
240
|
output_file, data_path = get_file_name_and_entry(
|
|
216
|
-
(shift_entry + i_nx_tomo),
|
|
241
|
+
(shift_entry + i_nx_tomo),
|
|
242
|
+
divide_sub_files=divide_into_sub_files,
|
|
243
|
+
entry=output_entry,
|
|
217
244
|
)
|
|
218
245
|
output_file = abspath(os.path.relpath(output_file, os.getcwd()))
|
|
219
246
|
output_file = abspath(output_file)
|
|
@@ -227,6 +254,11 @@ class BaseAcquisition:
|
|
|
227
254
|
_logger.warning(
|
|
228
255
|
f"No frame found for NXtomo number {i_nx_tomo}. Won't write any output for it"
|
|
229
256
|
)
|
|
257
|
+
if self.configuration.output_entries is not None:
|
|
258
|
+
# append back output_entry. Will be the next one to (re)pop.
|
|
259
|
+
# Because of sequence of sequence we might consume one entry name for nothing...
|
|
260
|
+
self.configuration.output_entries.append(output_entry)
|
|
261
|
+
|
|
230
262
|
continue
|
|
231
263
|
vs_0 = nx_tomo.instrument.detector.data[0]
|
|
232
264
|
if nx_tomo.detector_data_is_defined_by_url():
|
|
@@ -30,6 +30,7 @@ from nxtomomill.converter.hdf5.acquisition.tests.bliss_tomo_datasets import ( #
|
|
|
30
30
|
holotomo2_simu_dataset,
|
|
31
31
|
)
|
|
32
32
|
from nxtomomill.converter.hdf5.acquisition.utils._scan_type_finder import ScanTypeFinder
|
|
33
|
+
from nxtomomill.models.h52nx.h52nx import H52nxModel
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
def test_deduce_machine_current():
|
|
@@ -210,7 +211,7 @@ def test_group_z_series(tmp_path):
|
|
|
210
211
|
data_path=f"{i_scan}.1",
|
|
211
212
|
scheme="silx",
|
|
212
213
|
),
|
|
213
|
-
configuration=
|
|
214
|
+
configuration=H52nxModel(),
|
|
214
215
|
detector_sel_callback=None,
|
|
215
216
|
start_index=i_scan,
|
|
216
217
|
)
|
|
@@ -54,12 +54,19 @@ def test_holotomo_conversion_id16a(tmp_path):
|
|
|
54
54
|
configuration.no_master_file = False
|
|
55
55
|
configuration.translation_y_keys = _cast_keys_section_to_tuple(("sy+spy",))
|
|
56
56
|
configuration.translation_z_keys = _cast_keys_section_to_tuple(("sz+spz",))
|
|
57
|
+
configuration.output_entries = (
|
|
58
|
+
"my_entry_0000",
|
|
59
|
+
"my_entry_0001",
|
|
60
|
+
)
|
|
57
61
|
|
|
58
62
|
result = converter.from_h5_to_nx(configuration=configuration)
|
|
63
|
+
|
|
59
64
|
assert os.path.exists(output_file)
|
|
60
65
|
|
|
61
66
|
# check we have our 2 NXtomo are converted with (two distances).
|
|
62
67
|
assert len(result) == 2
|
|
68
|
+
assert result[0][1] == "my_entry_0000"
|
|
69
|
+
assert result[1][1] == "my_entry_0001"
|
|
63
70
|
# expected:
|
|
64
71
|
nx_tomos = [NXtomo().load(file_path, entry) for (file_path, entry) in result]
|
|
65
72
|
n_proj_per_nx_tomo = 1000
|
|
@@ -19,7 +19,6 @@ from tomoscan.utils.io import filter_esrf_mounting_points
|
|
|
19
19
|
|
|
20
20
|
from nxtomomill.converter.hdf5.acquisition.utils import group_series
|
|
21
21
|
from nxtomomill.converter.baseconverter import BaseConverter
|
|
22
|
-
from nxtomomill.converter.hdf5.acquisition.baseacquisition import _ask_for_file_removal
|
|
23
22
|
from nxtomomill.converter.hdf5.acquisition.multitomo import MultiTomoAcquisition
|
|
24
23
|
from nxtomomill.models.h52nx._acquisitionstep import AcquisitionStep
|
|
25
24
|
from nxtomomill.models.h52nx import H52nxModel
|
|
@@ -329,6 +328,13 @@ class _H5ToNxConverter(BaseConverter):
|
|
|
329
328
|
_logger.info(f"create link in {self.configuration.output_file}")
|
|
330
329
|
for en_output_file, entry in res:
|
|
331
330
|
with HDF5File(self.configuration.output_file, "a") as master_file:
|
|
331
|
+
if entry in master_file:
|
|
332
|
+
if self.configuration.overwrite:
|
|
333
|
+
del master_file[entry]
|
|
334
|
+
else:
|
|
335
|
+
raise OSError(
|
|
336
|
+
f"Data path {entry} already exists. Define overwrite option to overwrite existing file and entries."
|
|
337
|
+
)
|
|
332
338
|
link_file = os.path.relpath(
|
|
333
339
|
filter_esrf_mounting_points(en_output_file),
|
|
334
340
|
filter_esrf_mounting_points(
|
|
@@ -358,15 +364,6 @@ class _H5ToNxConverter(BaseConverter):
|
|
|
358
364
|
dir_name = os.path.dirname(abspath(output_file))
|
|
359
365
|
if not os.path.exists(dir_name):
|
|
360
366
|
os.makedirs(os.path.dirname(abspath(output_file)))
|
|
361
|
-
elif os.path.exists(output_file):
|
|
362
|
-
if self.configuration.overwrite is True:
|
|
363
|
-
_logger.warning(f"{output_file} will be removed")
|
|
364
|
-
_logger.info(f"remove {output_file}")
|
|
365
|
-
os.remove(output_file)
|
|
366
|
-
elif not _ask_for_file_removal(output_file):
|
|
367
|
-
raise OSError(f"unable to overwrite {output_file}, exit")
|
|
368
|
-
else:
|
|
369
|
-
os.remove(output_file)
|
|
370
367
|
if not os.access(dir_name, os.W_OK):
|
|
371
368
|
raise OSError(f"You don't have rights to write on {dir_name}")
|
|
372
369
|
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from collections import deque
|
|
3
4
|
from pydantic import Field, field_serializer, field_validator, ConfigDict
|
|
4
5
|
|
|
5
6
|
from nxtomo.nxobject.nxdetector import FieldOfView
|
|
6
7
|
|
|
7
|
-
from nxtomomill.models.utils import
|
|
8
|
+
from nxtomomill.models.utils import (
|
|
9
|
+
filter_str_def,
|
|
10
|
+
convert_str_to_bool,
|
|
11
|
+
convert_str_to_tuple,
|
|
12
|
+
)
|
|
8
13
|
from ..base.general_section import GeneralSection as _GeneralSectionBase
|
|
9
14
|
|
|
10
15
|
|
|
@@ -12,6 +17,9 @@ class GeneralSection(_GeneralSectionBase):
|
|
|
12
17
|
model_config = ConfigDict(validate_assignment=True, validate_by_name=True)
|
|
13
18
|
|
|
14
19
|
input_file: str | None = Field(default=None, description="Input file path.")
|
|
20
|
+
output_entries: deque[str] | None = Field(
|
|
21
|
+
default=None, description="Output of the conversion"
|
|
22
|
+
)
|
|
15
23
|
raises_error: bool = Field(
|
|
16
24
|
default=False, description="Raise an error when encountered."
|
|
17
25
|
)
|
|
@@ -130,3 +138,28 @@ class GeneralSection(_GeneralSectionBase):
|
|
|
130
138
|
@classmethod
|
|
131
139
|
def cast_general_section_to_bool(cls, value: str | bool | None) -> bool:
|
|
132
140
|
return convert_str_to_bool(value)
|
|
141
|
+
|
|
142
|
+
@field_validator(
|
|
143
|
+
"output_entries",
|
|
144
|
+
mode="plain",
|
|
145
|
+
)
|
|
146
|
+
@classmethod
|
|
147
|
+
def cast_output_entries(
|
|
148
|
+
cls, value: str | tuple[str] | deque[str]
|
|
149
|
+
) -> deque[str] | None:
|
|
150
|
+
if value is None:
|
|
151
|
+
return None
|
|
152
|
+
if isinstance(value, str):
|
|
153
|
+
value = filter_str_def(value)
|
|
154
|
+
elif isinstance(value, deque):
|
|
155
|
+
return value
|
|
156
|
+
values = convert_str_to_tuple(value)
|
|
157
|
+
if values is None or len(values) == 0:
|
|
158
|
+
return None
|
|
159
|
+
if len(values) != len(set(values)):
|
|
160
|
+
raise ValueError("several values are identical.")
|
|
161
|
+
res = deque()
|
|
162
|
+
# move it to a 'deque' to simplify usage
|
|
163
|
+
# last element added will be the first one pop. This is why we need to invert it.
|
|
164
|
+
[res.append(v) for v in values[::-1]]
|
|
165
|
+
return res
|
|
@@ -54,6 +54,7 @@ class H52nxModel(
|
|
|
54
54
|
check_tomo_n=self.check_tomo_n,
|
|
55
55
|
mechanical_lr_flip=self.mechanical_lr_flip,
|
|
56
56
|
mechanical_ud_flip=self.mechanical_ud_flip,
|
|
57
|
+
output_entries=self.output_entries,
|
|
57
58
|
),
|
|
58
59
|
keys_section=KeysSection(
|
|
59
60
|
valid_camera_names=self.valid_camera_names,
|
|
@@ -8,6 +8,7 @@ import pint
|
|
|
8
8
|
import logging
|
|
9
9
|
from .pintutils import get_unit
|
|
10
10
|
from silx.io.utils import open as open_hdf5
|
|
11
|
+
from silx.io.h5py_utils import File
|
|
11
12
|
|
|
12
13
|
try:
|
|
13
14
|
import hdf5plugin # noqa F401
|
|
@@ -97,13 +98,13 @@ def get_dataset_unit(
|
|
|
97
98
|
return get_unit(unit=unit, default=default, from_dataset=from_dataset)
|
|
98
99
|
|
|
99
100
|
|
|
100
|
-
def
|
|
101
|
+
def _robust_read(filename: str):
|
|
101
102
|
if not h5py.is_hdf5(filename):
|
|
102
103
|
raise OSError(f"{filename} doesn't is not a valid hdf5 file")
|
|
103
104
|
try:
|
|
104
|
-
return
|
|
105
|
+
return File(filename, "r", locking=False)
|
|
105
106
|
except OSError:
|
|
106
|
-
return
|
|
107
|
+
return File(filename, "r", libver="latest", swmr=True)
|
|
107
108
|
|
|
108
109
|
|
|
109
110
|
def _swmr_read(filename: str):
|
|
@@ -113,14 +114,14 @@ def _swmr_read(filename: str):
|
|
|
113
114
|
|
|
114
115
|
|
|
115
116
|
def read_hdf5(filename: str):
|
|
116
|
-
read_mode = os.getenv("NXTOMOMILL_HDF5_READ_MODE", "
|
|
117
|
-
if read_mode not in ("
|
|
117
|
+
read_mode = os.getenv("NXTOMOMILL_HDF5_READ_MODE", "robust")
|
|
118
|
+
if read_mode not in ("robust", "safe", "swmr"):
|
|
118
119
|
raise ValueError(
|
|
119
|
-
f"Invalid read mode: {read_mode}. Valid values are 'locking', '
|
|
120
|
+
f"Invalid read mode: {read_mode}. Valid values are 'locking', 'safe' and 'swmr'"
|
|
120
121
|
)
|
|
121
|
-
if read_mode == "
|
|
122
|
+
if read_mode == "safe":
|
|
122
123
|
return open_hdf5(filename)
|
|
123
|
-
elif read_mode == "
|
|
124
|
-
return
|
|
124
|
+
elif read_mode == "robust":
|
|
125
|
+
return _robust_read(filename)
|
|
125
126
|
elif read_mode == "swmr":
|
|
126
127
|
return _swmr_read(filename)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nxtomomill
|
|
3
|
-
Version: 2.1.0.
|
|
3
|
+
Version: 2.1.0.dev2
|
|
4
4
|
Summary: applications and library to convert raw format to NXtomo format
|
|
5
5
|
Author-email: Henri Payno <henri.payno@esrf.fr>, Pierre Paleo <pierre.paleo@esrf.fr>, Pierre-Olivier Autran <pierre-olivier.autran@esrf.fr>, Jérôme Lesaint <jerome.lesaint@esrf.fr>, Alessandro Mirone <mirone@esrf.fr>
|
|
6
6
|
License:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_bliss_fluo2nx_app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/app/tests/test_split_nxfile_app.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/dxfile/dxfileconverter.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/dxfile/tests/test_dxfile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/tests/test_checks.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/tests/test_edf2nx.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/edf/tests/test_edf2nx_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/tests/test_fluoscan2D.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fluo/tests/test_fluoscan3D.py
RENAMED
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/fscan/fscanconverter.py
RENAMED
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/multitomo.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisition/utils/_keys.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/acquisitionConstructor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/tests/test_frame_flip.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/converter/hdf5/tests/test_h52nx_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/FrmFlatToNestedBase.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/base/instrument_section.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/blissfluo2nx/blissfluo2nx.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/blissfluo2nx/general_section.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/dark_and_flat_section.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/edf2nx/detector_section.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/fluo2nx/general_section.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/entries_and_title_section.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/extra_params_section.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/frame_type_section.py
RENAMED
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/h52nx/multitomo_section.py
RENAMED
|
File without changes
|
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_edf2nx_model.py
RENAMED
|
File without changes
|
{nxtomomill-2.1.0.dev1 → nxtomomill-2.1.0.dev2}/nxtomomill/models/tests/test_fluo2nx_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|