Skip to content

Resolve "Option to save scans in separate files"

Wout De Nolf requested to merge 3116-option-to-save-scans-in-separate-files into master

Closes #3116 (closed)

Add a Nexus writer option to save scans in separate files. Purpose: undisturbed reading of finished scan data from an active dataset of online data analysis.

For example:

DEMO_SESSION [7]: SCAN_SAVING.writer_object.separate_scan_files=True
DEMO_SESSION [8]: loopscan(10, 0.1, mca1, diode1)
   Mon Dec 06 09:57:27 2021: Scan(number=1, name=loopscan, path=/tmp/scans/inhouse/id002112/id00/sample/sample_0001/sample_0001.h5)
                                                                                                                                                                                                                                                             
   Took 0:00:01.249045[s] 

         Out [8]: Scan(number=1, name=loopscan, path=/tmp/scans/inhouse/id002112/id00/sample/sample_0001/sample_0001.h5)

DEMO_SESSION [9]: loopscan(10, 0.1, mca1, diode1, diffcam)
   Mon Dec 06 09:57:34 2021: Scan(number=2, name=loopscan, path=/tmp/scans/inhouse/id002112/id00/sample/sample_0001/sample_0001.h5)
                                                                                                                                                                                                                                                             
   Took 0:00:01.537690[s] 

         Out [9]: Scan(number=2, name=loopscan, path=/tmp/scans/inhouse/id002112/id00/sample/sample_0001/sample_0001.h5)

The files created:

/tmp/scans
└── inhouse
    └── id002112
        └── id00
            ├── id002112_id00.h5
            └── sample
                ├── id002112_sample.h5
                └── sample_0001
                    ├── sample_0001.h5
                    ├── scan0001  # scan without lima
                    │   └── bliss_master.h5
                    └── scan0002  # scan with lima
                        ├── bliss_master.h5
                        ├── diffcam_0000.h5
                        ├── diffcam_0001.h5
                        ├── diffcam_0002.h5
                        ├── diffcam_0003.h5
                        ├── diffcam_0004.h5
                        ├── diffcam_0005.h5
                        ├── diffcam_0006.h5
                        ├── diffcam_0007.h5
                        ├── diffcam_0008.h5
                        └── diffcam_0009.h5

The dataset file sample_0001.h5 will look exactly like when separate_scan_files=False. The only difference is that it contains external links to the bliss_master.h5 files.

Edited by Wout De Nolf

Merge request reports