nxtomomill merge requestshttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests2020-02-13T16:24:48+01:00https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/1Review 02020-02-13T16:24:48+01:00paynoReview 0TODO:
- [x] add a .gitignore
- [x] add some PEP8
- [x] clean
- [ ] add unit tests
- [x] add setup.py
- [x] add requirements.txt
- [x] add a script / an application to run tomoedf2h5
- [x] display progress
- [x] to be discuss: ...TODO:
- [x] add a .gitignore
- [x] add some PEP8
- [x] clean
- [ ] add unit tests
- [x] add setup.py
- [x] add requirements.txt
- [x] add a script / an application to run tomoedf2h5
- [x] display progress
- [x] to be discuss:
- [x] replace the 'TomoScan' class by a dependence on `TomoScan`: should simplify the scripts and solve several issues like l 107: will fail if we have some .edf reconstruction or other file with the extension.
- [x] rename 2h5 by 2nx to avoid confusion (otherwise we might end up with a h52h5)
Missing:
- [x] what about units ? For example now pixel size is store as micrometer but nothing is specify. So:
- should we use meter instead ?
- how to specify the unit in the file
- Information regarding ref and darks about integration time, method... or do we expect those to be 'ready to be processed' ?https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/2[tomoh5tonx] start creation of nx file from .h5.2020-03-02T14:12:47+01:00payno[tomoh5tonx] start creation of nx file from .h5.TODO
----
- [x] Read each tomo:x
- [x] create the sequence
- [x] split each sequence into a file and create a 'master file' to read them all
- [x] add `data` virtual dataset
- [x] add basic metadata (name, beam...)
- [x] add ima...TODO
----
- [x] Read each tomo:x
- [x] create the sequence
- [x] split each sequence into a file and create a 'master file' to read them all
- [x] add `data` virtual dataset
- [x] add basic metadata (name, beam...)
- [x] add image_key and image_key_control
- [x] add rotation_angle
- [x] add x_translation, y_translation, z_translation
- [x] add some progress to clarify treatment
- [x] make sure file is still valid if moved.
- [x] add count_time information
- [x] add file version (same for edftonx)
limitation from original .h5 file
---------------------------------
- image_key not register in tomo_v2_external
- some unit missing
- counter is saved as a detector. Why ? -> how to know which node contains 'camera' and which don't ?
-> have to filter the 'detector name'
- rotation is sometime named srot, sometime hrsrot !!! (and for projection both are recorded !!!!) So in **this case the order of checking key matter !!!**
- for reference: several frame, one srot value !!!
0.2https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/3Test id19 restart2020-04-22T08:59:31+02:00paynoTest id19 restarthttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/4From v0.12020-03-12T14:45:11+01:00paynoFrom v0.10.2https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/7[tomoedf2nx] move DARK_ACCUM_FACT to be defined in the correct section2020-03-31T11:35:26+02:00payno[tomoedf2nx] move DARK_ACCUM_FACT to be defined in the correct sectionhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/6[tomoedf2nx] remove debug log2020-03-31T11:36:10+02:00payno[tomoedf2nx] remove debug loghttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/8Add doc2020-04-08T14:39:57+02:00paynoAdd doc0.2https://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/11Fix ci for doc2020-04-22T08:13:10+02:00paynoFix ci for docinstall some requirements.install some requirements.https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/10Add entry point in setup.py for 'nxtomomill'2020-04-22T08:39:20+02:00paynoAdd entry point in setup.py for 'nxtomomill'https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/12Move to 0 32020-04-22T13:56:38+02:00paynoMove to 0 3https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/13update CHANGELOG2020-04-29T09:02:32+02:00paynoupdate CHANGELOGhttps://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/15Cherry pick2020-05-13T16:15:10+02:00paynoCherry pickhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/16Add file keys command2020-05-18T07:26:46+02:00paynoAdd file keys commandhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/17Distance to m2020-06-25T13:43:00+02:00paynoDistance to m0.2https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/19Add plugins2020-06-25T14:22:10+02:00paynoAdd plugins
TODO
====
- [x] Add a plugin system to let the user define some output in the final hdf5 file
- [x] Add documentation
HOW TO
======
The user define a folder containing the python plugin.
Environment variable to set: NXTO...
TODO
====
- [x] Add a plugin system to let the user define some output in the final hdf5 file
- [x] Add documentation
HOW TO
======
The user define a folder containing the python plugin.
Environment variable to set: NXTOMOMILL_PLUGINS_DIR
Then nxtomomill parse all the classes contained and check if they are instance of '_PluginBase'
Then for conveniance (we parse the file only one time) the user should specify the key he will use.
for now we **only manage keys from positioners**. Can be extended if necessary later.
And then he can access those from 'get_positioner_info' and do basically what he likes during write.
Limited but enough for a first version I guess.
You can see [here](/uploads/c04fbfbdc80fed26fef12025713fedae/motor_def.py) an example of a plugin file:
limitation
==========
- this let the user pretty 'free'. Maybe we could add an extra layer and force them to define unit ?
- for now consider all the information the user can need are store in the positioners info.
- will generate warnings if missing keys even if the user create itself the requested output (can be managed by requesting user the path they intent to create).
EXTRA
=====
close #4https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/20allow user to define path for the pixel size2020-07-20T10:55:44+02:00paynoallow user to define path for the pixel sizenow to change the path of the dataset used to define the pixel size (the one used by nabu) users should redefined:
``` python
H5_X_PIXEL_SIZE = 'technique/detector/pixel_size'
H5_Y_PIXEL_SIZE = 'technique/detector/pixel_size'
```
...now to change the path of the dataset used to define the pixel size (the one used by nabu) users should redefined:
``` python
H5_X_PIXEL_SIZE = 'technique/detector/pixel_size'
H5_Y_PIXEL_SIZE = 'technique/detector/pixel_size'
```
/close #6 https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/21Add fov information2020-07-28T16:00:58+02:00paynoAdd fov informationhttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/24Add set param2020-09-03T10:57:16+02:00paynoAdd set param