Bcdi

Latest version: v0.3.1

Safety actively analyzes 619291 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.3.1

--------------

* Update dependencies.

* Allow the config parameter 'frames_pattern' to be a list containing only the indices
of the detector frames to skip.

0.3.0

--------------

* `bcdi_utils.find_bragg`: a parameter name in the function signature was change from
"roi" to "region_of_interest", therefore the region of interest was not taken into
account anymore when calculating the peak position.

* Postprocessing: fix bragg peak calculation for energy scans.

* Postprocessing: raise NotImplementedError for energy scans not interpolated during
preprocessing.

0.2.9

--------------

* Add support for Python3.10 and update dependencies.

* Refactor the function `bcdi_utils.center_fft` in separate classes using
inheritance.

* Split `setup.ortho_directspace` into methods to get the transformation matrix in the
laboratory frame or crystal frame. Implement `setup.ortho_directspace_labframe`.

* Create a new script `postprocessing/bcdi_orthogonalization.py`, which only
interpolates the output of phase retrieval (no processing on the phase)

* Remove temporal couping in the initialization of the Setup instance. Set the paths,
create the logfile and read it directly in `setup.__init__`.

* Create classes Analysis, PreprocessingLoader and InteractiveMasker for preprocessing.
Refactor `preprocessing.process_scan` to use these classes.

* Add support for ESRF BM02 beamline (th rocking curve).

* Create classes Analysis, PhaseManipulator and InterpolatedCrystal for postprocessing.
Refactor `postprocessing.process_scan` to use these classes.

* Remove the deprecated parameter 'fix_size'. THe same functionality can be obtained by
using the set of parameters `roi_detector`, `center_roi_x` and `center_roi_y`.

* Previously the functionalities regarding Bragg peak finding, rocking curve fitting and
plotting were located in tightly binded functions. A class PeakFinder is implemented to
gather these functionalities and manage its own state properly.

* Add unit tests to postprocessing_utils.find_datarange and make it dimension-agnostic.

* Fix a bug with data path formatting in ID01BLISS loader (missing parentheses when
creating the data path in the h5 file).

0.2.8

--------------

* Add plot in `bcdi_utils.find_bragg` to check qualitatively the configured centering
method. Save it automatically with the title 'centering_method.png'.

* Refactor: move all methods related to linecuts in a dedicated module and class.
Improve the robustness of linecuts fits in postprocessing, by allowing each fit to
have a different length.

* Bug: allow `sample_name` to be an empty string, in order to match the data internal
path in ID01BLISS h5 files.

* Bug: override `centering_method` in PreprocessingChecker when the Bragg peak position
is provided (the new setting becomes "user" for reciprocal space).

* Bug: add the method `utils.parameters.ConfigChecker._create_dirs`, which creates the
saving directory when the folder does not exist yet.

* Bug: provide the correct binning factors to `bcdi_utils.find_bragg` by introducing a
new detector property `current_binning` and using it as input parameter.

* Calculate the Bragg peak position for the three methods "max", "com" and "max_com"
and plot the results to compare their efficiency. The type of `centering_method` is
changed to `dict` in order to provide different methods for direct and reciprocal
space (e.g. `{"direct_space": "max_com", "reciprocal_space": "max"}`).

* Use distinct names for the log files from preprocessing and postprocessing.

* Move the calculation of corrected detector angles before the calculation of `q_lab`
in `postprocessing.process_scan`. Previously it was using the values from the beamline
log file, resulting in a small discrepancy.

* Add a placeholder "-f" command line parameter to host the automatically generated
parameter in Jupyter notebooks (path of the kernel json file).

* Add support for high-energy BCDI at ESRF ID27 beamline. Add an example configuration
file to the package.

* Rename `bcdi_preprocess_BCDI.py` to `bcdi_preprocess.py`, add support for CDI in the
script.

* Add option to skip unwrapping: add the boolean parameter `skip_unwrap` to the
postprocessing. This can be useful when there are defects in the crystal and phase
unwrapping does not work well.

* Bug: provide the correct number of motor positions to xrayutilities Qconv for the SIXS
beamline (beta needs to be duplicated because it is also below the detector circles.)

* Modify the saturation threshold of the Eiger2M detector from 1e6 to 1e7 photons.

* The log file will be created in `save_dir` if this parameter is defined, otherwise
it will be created in `root_folder`.

* Allow loading of Eiger2M detector data at ID01BLISS.

0.2.7

--------------

* Use the package `isort` to format imports in a standard way.

* Use multiprocessing for the analysis of several scans in `bcdi_preprocessing_BCDI.py`.
In this case, `flag_interact` has to be False, and an optional mask can be loaded to
be applied on the data. The use case is when one runs once the preprocessing manually
and creates such a mask (it is saved automatically after the interactive masking as
`interactive_mask.npz`), and afterwards wants to apply it to a series of scans
measured in the same geometry. For each scan, a separate log file is created and
saved in `save_dir` along with processing results.

* A parameter `mask` was added to the config file for preprocessing. The loaded mask
will be combined with the one generated automatically and used independently of
`flag_interact`.

* Use multiprocessing for the analysis of several scans in ``bcdi_strain.py``. The
use-case is when there is a series of scans measured with the same geometry and only
an external parameter (gaz, temperature,...) changes. For each scan, a separate log
file is created and saved in `save_dir` along with processing results.

0.2.6

--------------

* Fix deprecation warning with the method `pandas.DataFrame.append`

* Implement the `ConfigChecker` class and child classes to gather in a single location
the configuration check before processing.

* rename `scan` to `scans` in `bcdi_strain.py`, and allow the user to process several
scans. Allow to provide a list for `specfile_name`, `template_imagefile`, `data_dir`,
`save_dir`, `reconstruction_files` with the same number of elements as the number of
scans.

* rename the parameter `sdd` to `detector_distance` to match PyNX terminology.

* Add a `colormap` parameter to the config. The user can choose a colormap between
"turbo", "custom" or any colormap from the `colorcet` package

* Add an estimation of the resolution in `bcdi_strain.py` using a linecut of the
reconstructed modulus and Gaussian fits to the derivative of the linecut at crystal
edges.

* Add a CITATION.cff file for easier citation of the package in scientific publications.

* Change the default colormap for the turbo colormap.
See https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.