nxtomomill merge requestshttps://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests2021-07-27T08:35:38+02:00https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/70[setup] move to setup.cfg2021-07-27T08:35:38+02:00payno[setup] move to setup.cfg0.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/89nxtomo: ease way to provide a unit2022-03-14T11:04:55+01:00paynonxtomo: ease way to provide a unit0.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/88Handle pcotomo2022-03-14T11:47:23+01:00paynoHandle pcotomo# Overview
- PR to be merged first:
- https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/89
- https://gitlab.esrf.fr/tomotools/tomoscan/-/merge_requests/73
- fix #88
- [x] refactor existing to use the `nexus` module
...# Overview
- PR to be merged first:
- https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/89
- https://gitlab.esrf.fr/tomotools/tomoscan/-/merge_requests/73
- fix #88
- [x] refactor existing to use the `nexus` module
- [x] rework FrameAppender:
- [x] add handling of `h5py.VirtualSource` type
- [x] improve handling of DataUrl
- [x] add pcotomo
- [x] retrieve information regarding nb_loop and nb_tomo
- [x] add a dedicated class for PCOTomo
- [x] add unit tests
- [x] update 'create NXtomo from scratch adding examples by providing externalDataUrl or VirtualSources'
- [x] add test diode is not created from standardacquisition unit test
- [x] add documentation on design:
- one step to read all entries / node
- create NXtomo entries associated to those
- optional rework on NXtomo entries (pcotomo case)
- save NXtomo according to the configuration file
- [x] allow loading an NXtomo to edit it from the existing API (might use tomoscan). Like `NXtomo.load(file_path, data_path) -> NXtomo` ? If so: this will be part of another PR
- [x] add API
- [x] add unit test
- [x] add a function to split a h5py VirtualDataset from a selection (needed to split an NXTomo)
- [x] update documentation of NXtomo edition
# details0.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/91add pcotomo2022-03-14T15:28:26+01:00paynoadd pcotomopremature merge of https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/88premature merge of https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/880.8https://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/87Add write as nxtomo2022-03-15T09:34:13+01:00paynoAdd write as nxtomoProvide an API to write an NXtomo from scratch.
There is a notebook explaining how to write this.
- close #87
- close #81Provide an API to write an NXtomo from scratch.
There is a notebook explaining how to write this.
- close #87
- close #810.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/95nexus: freeze API once defined otherwise we can have some confusion between, ...2022-03-21T10:08:21+01:00paynonexus: freeze API once defined otherwise we can have some confusion between, name, source, name...see https://stackoverflow.com/questions/3603502/prevent-creating-new-attributes-outside-init for detailssee https://stackoverflow.com/questions/3603502/prevent-creating-new-attributes-outside-init for details0.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/96Fix entry indexes.2022-03-23T08:20:07+01:00paynoFix entry indexes.The NXtomo refactoring a broken broke feature (very important for data automation):
- get / deduce entry name according to the INITI-ACQUISITION ENTRY.
This was insuring consistency of the created NXtomo and avoiding conflict in naming...The NXtomo refactoring a broken broke feature (very important for data automation):
- get / deduce entry name according to the INITI-ACQUISITION ENTRY.
This was insuring consistency of the created NXtomo and avoiding conflict in naming files and entry.
This commit intend to fix the break done and even improve this mecanism by adding the `bam_single_file` option to inforce the creation of one file per entry.
Now each acquisition has a `start_index` values to know from which index he can create entries and files.
Each acquisition must also provide a way to inform the converter on many entries he will create (at most) from the `get_expected_nx_tomo` function.
For the ZSerieAcquistion and PCOTomoAcquisition this is not possible to provide during discovery of the initialization step.
* The ZSerieAcquisition will increase the start_index for the next acquisition each time he register a new url
* The PCOTomoAcquisition will postpone this when he will parse url for Projection. where this information is registered
It would be beniefic to refactor the `build_acquisition_classes_frm_titles` and `build_acquisition_classes_frm_urls` functions.0.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/101h5py - FrameAppender: improve handling of the data type.2022-04-13T15:54:07+02:00paynoh5py - FrameAppender: improve handling of the data type.Could happen that the dtype was set to None (float64 by default)
which was incoherent with the type. But due to the structure of it this look slike this was not bringing any major issue.Could happen that the dtype was set to None (float64 by default)
which was incoherent with the type. But due to the structure of it this look slike this was not bringing any major issue.0.8https://gitlab.esrf.fr/tomotools/nxtomomill/-/merge_requests/102Update nxtomo.py2022-04-20T11:57:39+02:00paynoUpdate nxtomo.py0.8