Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tomotools
nxtomomill
Commits
ae2b8a43
Commit
ae2b8a43
authored
Jan 07, 2022
by
payno
Browse files
Merge branch 'improve_management_proposal_files' into 'master'
improve handling of bliss proposal file. See merge request
!85
parents
43b2f1b8
56fcd223
Pipeline
#63452
passed with stages
in 5 minutes and 46 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
nxtomomill/converter/hdf5/hdf5converter.py
View file @
ae2b8a43
...
...
@@ -365,9 +365,18 @@ class _H5ToNxConverter(BaseConverter):
for
group_name
in
groups
:
_logger
.
debug
(
"parse {}"
.
format
(
group_name
))
entry
=
h5d
[
group_name
]
# improve handling of External (this is the case of proposal files)
if
isinstance
(
h5d
.
get
(
group_name
,
getlink
=
True
),
h5py
.
ExternalLink
):
external_link
=
h5d
.
get
(
group_name
,
getlink
=
True
)
file_path
=
external_link
.
filename
data_path
=
external_link
.
path
else
:
file_path
=
self
.
configuration
.
input_file
data_path
=
entry
.
name
url
=
DataUrl
(
file_path
=
self
.
configuration
.
input_file
,
data_path
=
entry
.
name
,
file_path
=
file_path
,
data_path
=
data_path
,
scheme
=
"silx"
,
data_slice
=
None
,
)
...
...
@@ -518,7 +527,6 @@ class _H5ToNxConverter(BaseConverter):
return
False
def
write
(
self
):
# TODO: should be split into different parts as well
res
=
[]
possible_extensions
=
(
".hdf5"
,
".h5"
,
".nx"
,
".nexus"
)
output_file_basename
=
os
.
path
.
basename
(
self
.
configuration
.
output_file
)
...
...
@@ -535,7 +543,7 @@ class _H5ToNxConverter(BaseConverter):
_logger
.
debug
(
"
\n
- "
.
join
(
acq_str
))
if
len
(
self
.
acquisitions
)
==
0
:
_logger
.
warning
(
"No
t
valid acquisitions have been found. Maybe no "
"No valid acquisitions have been found. Maybe no "
"init (zserie) titles have been found. You can "
"provide more."
)
...
...
@@ -796,7 +804,11 @@ def from_h5_to_nx(
def
get_bliss_tomo_entries
(
input_file_path
:
str
,
configuration
:
TomoHDF5Config
):
"""Util function. Used by tomwer for example"""
"""Util function.
Return the set of entries at root that match bliss entries.
Used by tomwer for example.
Warning: entries can be external links (in the case of the file beeing a proposal file)
"""
if
not
isinstance
(
configuration
,
TomoHDF5Config
):
raise
TypeError
(
"configuration is expected to be a HDF5Config"
)
...
...
@@ -806,15 +818,22 @@ def get_bliss_tomo_entries(input_file_path: str, configuration: TomoHDF5Config):
for
group_name
in
h5d
.
keys
():
_logger
.
debug
(
"parse %s"
%
group_name
)
entry
=
h5d
[
group_name
]
data_path
=
entry
.
name
if
not
data_path
.
startswith
(
"/"
):
data_path
=
"/"
+
data_path
url
=
DataUrl
(
file_path
=
input_file_path
,
data_path
=
data_path
)
# improve handling of External (this is the case of proposal files)
if
isinstance
(
h5d
.
get
(
group_name
,
getlink
=
True
),
h5py
.
ExternalLink
):
external_link
=
h5d
.
get
(
group_name
,
getlink
=
True
)
file_path
=
external_link
.
filename
data_path
=
external_link
.
path
else
:
file_path
=
input_file_path
data_path
=
entry
.
name
if
not
data_path
.
startswith
(
"/"
):
data_path
=
"/"
+
data_path
url
=
DataUrl
(
file_path
=
file_path
,
data_path
=
data_path
)
if
configuration
.
is_using_titles
:
# if use title take the ones corresponding to init
entry_type
=
get_entry_type
(
url
=
url
,
configuration
=
configuration
)
if
entry_type
is
AcquisitionStep
.
INITIALIZATION
:
acquisitions
.
append
(
entry
.
name
)
acquisitions
.
append
(
group_
name
)
else
:
# check if the entry fit one of the data_frame_grps
# with an init status
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment