nxtomomill merge requestshttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests2022-03-14T16:58:35+01:00https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/673dxrd improvements2022-03-14T16:58:35+01:00Julia Garriga Ferrer3dxrd improvementsDescription / Goal
------------------
Add management of 3d-xrd dataset in nxtomomill.
TODO list
---------
- handle HDF5
- [ ] ~~add a Mock up class for 3D XRD~~ to be done in another PR
- [x] add unittest
- [x] add a new appl...Description / Goal
------------------
Add management of 3d-xrd dataset in nxtomomill.
TODO list
---------
- handle HDF5
- [ ] ~~add a Mock up class for 3D XRD~~ to be done in another PR
- [x] add unittest
- [x] add a new application to handle 3d-xrd
- [x] save motor position for 'rocking'
- handle EDF
- [ ] ~~rework EDF converter~~ might be done in another PR. No the prioroty at this point.
INFO (how to use...)
--------------------
some example of usage:
* without a configuration file
```
nxtomomill h5-3dxrd-2nx bassanite_Bassanite_start_1_4.h5 test_julia_no_cfg.nx --single-file
```
* with a configuration file
```
nxtomomill h5-3dxrd-2nx --config xrd_3d_config.cfg
```
an example of a configuration file: [xrd_3d_config.cfg](/uploads/dc42b3546e28919978f9bd01ce19988f/xrd_3d_config.cfg)
Any warning ?
-------------
associated materials (screenshot, test scripts...)
--------------------------------------------------0.8Julia Garriga FerrerJulia Garriga Ferrerhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/55[acquisition] register sample_name and group_size if possible2021-04-07T16:07:37+02:00payno[acquisition] register sample_name and group_size if possible0.5https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/74[app] add test on the application2021-08-30T11:53:15+02:00payno[app] add test on the applicationhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/77[app][dxfile2nx] allow to provide pixel size as a single value2021-10-04T10:23:30+02:00payno[app][dxfile2nx] allow to provide pixel size as a single valueclose #66close #660.7https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/64[app][dxfile2nx] convert dxfile to NXTomo2021-12-16T11:37:00+01:00payno[app][dxfile2nx] convert dxfile to NXTomo# Description / Goal
Insure translation from dxfile to NXtomo.
# TODO list
- [x] add an application to convert from dxfile to NXTomo
- [x] add a function to do conversion from a script
- [x] doc
- [x] general information
- [x] a...# Description / Goal
Insure translation from dxfile to NXtomo.
# TODO list
- [x] add an application to convert from dxfile to NXTomo
- [x] add a function to do conversion from a script
- [x] doc
- [x] general information
- [x] add tutorial
- [x] add tests
- [x] insure version is stored
- [x] test on several dxfile
- [x] tomo_00022
- [x] tomo_00024
- [x] tomo_00068
- [x] tomo_00076
- [x] test tomwer / nabu can handle the file for a processing
# INFO (how to use...)
Example of usage:
### *tomo_00022 case*
- x rotation angle "theta" are not take into account for now. Might evolve with time. But in this case we might expect rotation angle for all dark, flat and projection not only projection. For now users must provide a scan range (0,180) in this case:
- other mandatory parameters are converted (pixel size, distance, energy...)
``` bash
nxtomomill dxfile2nx tomo_00022.h5 tomo_00022.nx --overwrite --scan-range 0,180
```
We can now try nabu on it
``` bash
nabu-config
```
This generate a nabu.conf file that we have to set up. Adding dataset location (generated .nx file), rotation_axis_position=auto, enable_halftomo=0, output location, Paganin ? ...
Once done we can call nabu with it.
```
nabu nabu.conf --slice middle
```
![Nxtomo - tomo_00022.nx](/uploads/a771d99ff0d08cf80db707eef659dc52/image.png)
![dxfile - tomo_00022.h5](/uploads/446a74522fd5df9f7ec80974d7572cde/image.png)
![nabu reconstruction](/uploads/8c9830923f26e34bea7b5ff90bb0b23a/image.png)
note: note sure at all about nabu reconstruction parameters, cor value... but at least it processes it.
### *tomo_00024 case*
close to the *tomo_00022*. This time we avoid data duplication
``` bash
nxtomomill dxfile2nx tomo_00024.h5 tomo_00024.nx --overwrite --no-data-copy
```
This time we test tomwer on it (with nabu)
```
tomwer canvas
```
We need to specify the field of fiew to provide it to nabu so we need to add the `--field-of-view` option
``` bash
nxtomomill dxfile2nx tomo_00024.h5 tomo_00024.nx --overwrite --no-data-copy --field-of-view full
```
Again not sure at all by the reconstruction parameters. I guess the provided .tiff does not help much.
![image](/uploads/7bcc349f3cd34edad90c3c605675edfb/image.png)
### *tomo_00068 case*
test file conversion providing distance and energy + test it with nabu (no paganin)
```
nxtomomill dxfile2nx tomo_00068.h5 tomo_00068.nx --overwrite --no-data-copy --energy 20 --distance 0.36
```
![nabu middle slice - tomo_00068](/uploads/5684b477ef5edbed20c927f6deb04b79/image.png)
### *tomo_00071 case*
simply test file conversion
Any warning ?
-------------
* several "core" information are not provided by dxfile as rotation angle, detector-sample distance, pixel size.
Some "default" values are provided but might need to be provided during conversion.
* alignment projection are not handled
* it look like dxfile contains one acquisition per file. If not users will have to call several time the converter and providing the *input_entry* parameter
* to call nabu from tomwer the field of view need to be provided. Maybe we will also create a default value ?
associated materials (screenshot, test scripts...)
--------------------------------------------------
![dxfile](/uploads/7884c69f3ce90d862bef3a0980433725/image.png)
![converted nxtomo file](/uploads/5d59f7ddf208eb6451c7c3d6035fe11d/image.png)0.6https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/68[app][h52nx] add option '--copy-data' to enforce data duplication inside the ...2021-07-09T11:37:01+02:00payno[app][h52nx] add option '--copy-data' to enforce data duplication inside the fileclose #72close #720.6https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/54[CI] add python 3.9 test2021-04-06T14:07:49+02:00payno[CI] add python 3.9 test0.5https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/41[converter-hdf5] Add NXdata management.2020-11-20T15:09:57+01:00payno[converter-hdf5] Add NXdata management.0.4https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/58[converter][hdf5] save tomo_n2021-05-03T14:33:24+02:00payno[converter][hdf5] save tomo_n0.6https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/31[converter][tomoh52nx] remove magnified pixel size2020-10-26T08:43:55+01:00payno[converter][tomoh52nx] remove magnified pixel size- only write pixel size. A path can still be provided by the user. Otherwise we will try the following path to get the pixel size to be store in the NXTomo (with this order):
"technique/optic/sample_pixel_size ",
"technique/optic/sample...- only write pixel size. A path can still be provided by the user. Otherwise we will try the following path to get the pixel size to be store in the NXTomo (with this order):
"technique/optic/sample_pixel_size ",
"technique/optic/sample_pixel_size",
"technique/detector/pixel_size"0.4https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/14[fix][h5_to_nx] entry name of the file was not representative of the position...2020-04-30T11:49:21+02:00payno[fix][h5_to_nx] entry name of the file was not representative of the position...[fix][h5_to_nx] entry name of the file was not representative of the position of the selected entry. Keep consistancy on entry file name this time.[fix][h5_to_nx] entry name of the file was not representative of the position of the selected entry. Keep consistancy on entry file name this time.https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/48[gitlab] add templates2021-02-15T10:38:38+01:00payno[gitlab] add templatesclose #51close #51https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/83[h52nx] rename some remaining `ref_titles` to `flat_titles`.2021-12-06T11:01:40+01:00payno[h52nx] rename some remaining `ref_titles` to `flat_titles`.Insure backward compatibility by adding aliases for the `flat_titles` key.Insure backward compatibility by adding aliases for the `flat_titles` key.0.7https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/72[h52nx][converter] group several call to `_generic_path_getter`2021-08-02T16:59:59+02:00payno[h52nx][converter] group several call to `_generic_path_getter`Description / Goal
------------------
Several modifications to the Nexus output:
- add title
- move beam to an NXbeam and save it under NXinstrument
TODO list
---------
- [x] add title
- [x] refactoring: group several dataset getter #...Description / Goal
------------------
Several modifications to the Nexus output:
- add title
- move beam to an NXbeam and save it under NXinstrument
TODO list
---------
- [x] add title
- [x] refactoring: group several dataset getter #75
- [x] add NXbeam class (under NXsample probably ?)
- [x] keep compatibility with the previous beam thing
- [x] add test
INFO (how to use...)
--------------------
- close #75
- a pre-release wheel should be done for it0.6https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/38[h5_to_nx] handle zserie2020-11-19T17:23:01+01:00payno[h5_to_nx] handle zserieDescription / Goal
==================
handle zseries by creating one entry per z found. /close #13
We can still create one file per entry (default behavior of tomoh52x) or create one file per entry and one master file (`--single-file` ...Description / Goal
==================
handle zseries by creating one entry per z found. /close #13
We can still create one file per entry (default behavior of tomoh52x) or create one file per entry and one master file (`--single-file` option)
TODO
====
- [x] add a new parameter in settings 'H5_ZSERIE_INIT_TITLES'
will be merge with 'H5_INIT_TITLES' when h5_to_nx is call
- [x] split _Acquisition into a base class (_BaseAcquisition and _ZSerieAcquisition). PR of ID15 data will need to be rework due to this I guess.
- [x] add `_ZSerieAcquisition` class: represents a serie of _StandardAcquisition. 'write_as_nxtomo' is now only part of StandardAcquisition
- [x] doc
- [x] test
NOTE
====
Split `H5_INIT_TITLES` to `H5_INIT_TITLES` and `H5_ZSERIE_INIT_TITLES` to distinguish zseries and 'standard acquisition'
No API modification at command line level. Only adding an `init_zserie_titles` option to define zseries title if necessary0.4https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/23[h5_to_nx] set HDF5_USE_FILE_LOCKING environment variable to prevent corruption2020-08-26T15:29:33+02:00payno[h5_to_nx] set HDF5_USE_FILE_LOCKING environment variable to prevent corruptionhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/9[h5tonx][converter] add a callback to set missing inputs2020-04-22T08:59:46+02:00payno[h5tonx][converter] add a callback to set missing inputs/closes #3 /closes #3 0.2https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/59[hdf5] read rotation motor from "technique/scan/motor"2021-05-04T09:06:29+02:00payno[hdf5] read rotation motor from "technique/scan/motor"- to activate this option the H5_ROT_ANGLE_KEYS should be set to None- to activate this option the H5_ROT_ANGLE_KEYS should be set to None0.6https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/40[patch-nx] add an option embed to include dataset not in the file2020-11-20T15:08:11+01:00payno[patch-nx] add an option embed to include dataset not in the file0.4https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/84[patch-nx] add an option to convert automatically all frame of a given type...2022-01-04T09:29:59+01:00payno[patch-nx] add an option to convert automatically all frame of a given type...[patch-nx] add an option to convert automatically all frame of a given type (dark, flat, projection...)
close #82[patch-nx] add an option to convert automatically all frame of a given type (dark, flat, projection...)
close #820.7