Releases: ercius/openNCEM
Bug fixes
Bug fixes for SMV and remove deprecated ndimage modules.
What's Changed
- Skip tags which cant be converted by _bin2str by @ercius in #56
- Fix smv read by @ercius in #59
- Improve emd warning by @ercius in #60
- add workflow file by @ercius in #61
- Improve io.smv by @ercius in #62
- Fix deprecations by @ercius in #63
Full Changelog: v1.11.0...v1.11.1
v1.11.0
Many new updates to packages old and new!
- Add support for SMV images commonly used in crystallography like microED
- Updates to the Python Titan scripting examples
- Improve the example notebooks
- Added a new
ncempy.plot
function to simply plot the output of thencempy.read
function - Improve the metadata returned by the DM class
v1.10.0
Some new features and bug fixes:
New features:
- Added a
band_pass
function to filter images. - Simplify imports. You can now use
import ncempy
and get access to most of the submodules and directly to theread
function. This will not impact the traditional ways of importing. - Add new
getMetadata()
function toncempy.io.dm.fileDM
to make it easier to get relevant experimental data
Bug fixes:
- An update to python broke the DM reader due to dangling file pointers. This is now fixed.
- EMD files without the
name
orunits
attributes can now be read. These default todim#
andpixels
instead
v1.9.0
This release adds some new modules to ncempy
and features to the io
package and some bug fixes.
- Add
peak_find
module. This is used for finding peaks (i.e. atoms) in 2D (images) and 3D (volumes) numpyndarrays
. There is code to find peaks, fit peaks to a Gaussian, fit a set of peaks to a lattice, calculate displacements, calculate strain, and calculate a unit cell. - Add the
gaussND
module. This is used for peak fitting 2D and 3D Gaussians. - Allow input of an open file object to all
io
readers. - Fix an issue with EMD memmaps being closed when used inside another function
- Fix issue with
int64
data type in DM files
Please create an issue if anything is not working so I can fix it.
io bug fix for py3.6
Bug fix for import issue for python3.6 due to new ncempy.io.read() function.
Documentation and io updates
This release makes many changes to the documentation to help with readability. Check read the docs for the full documentation.
The io mdoule has several updates:
- The new
ncempy.io.read()
function uses the file suffix to call the correct file reader. No need to choose a reader ahead of time. - A new simple emdWriter() function has been added
- Parsing of EMD Berkeley files is improved for some special cases
- EMD Berkeley is opened as read only by default
Even more updates
Lots more updates in this version:
- Fixed an issue with DM memmap() which did not make it into the previous release. memmap with on_memory now works correctly.
- Improved DM writeTags functionality. Thanks to @koschie for the pull request.
- Improve speed of EMI meta data reading
- Fix issue in stack_align with mode='dynamic'. This previously did not work and now its working well.
- fourier_operations includes shear, shift and rotation for non-interpolated operations
- Fix the energy output axis for dmReader for spectra. The offset and energy pixel size are now correct and match the expectations from the DM program.
- Add a Jupyter Notebook with examples of reading all types of files and displaying the data
- Multicorr image alignment is now moved to the eval subpackage. All related functions remain in algo.multicorr_funcs
So many updates
We are pleased to release the 1.6.0 version of ncempy after a large number of updates to the package. Please see below for the major changes since the previous release:
- New features for the
algo
subpackage such as cross-correlation alignment, Fourier shift and shear operations, image moment calculations, image binning (simple change size) - Major updates to
mutlicorr
for cross-correlation alignment with upsampling. - New feature in eval.stack_align to use multicorr alignment against a stack of images.
- Capability of calculating a line_profile at arbitrary angles and with different widths. Look at
eval.line_profile
function - Lots of updates to the
io
plugins. All plugins now have the simplifiedxxxReader()
command for very simple data loading. Most plugins providegetMemmap()
functionality to assist in analyzing data too large to fit in memory. - Addition of example notebooks for some image review and analysis tasks. More will be added in future releases
- Testing infrastructure completely overhauled and changed to
pytest
. The tests actually work now! - Fix a major bug with
dm.py
and theon_memory=True
option where the data was lost if the file was closed. - New visualization routines in the
viz
submodule. Easy image FFT display, image contrast based on standard deviation, and a simple 3D image viewer to assist in looking at time series or 3D volumes - Test data is now available in the data directory. Tests will run locally without any additional downloads. Also provides example data for users to test things out.
- Remove
h5py_cache
dependency sinceh5py
now provides this functionality usingrdcc_
keywords. Thanks to @tschoonj for the pull request!
I probably forgot some things since its been so long since the last update. Those are the major updates though.
As always, if you find a problem please submit an issue so it can get solved quickly.
New edstomo module and io features added
We are pleased to release the 1.5.0 version of ncempy. Please see the major changes below
This version has one major addition from @ZGainsforth providing methods for reconstructing STEM-EDS tomography maps. This adds some extra dependencies and example data files. To install this feature you need use pip with the following command:
pip install “.[edstomo]”
io/dm.py
and io/mrc.py
now include a getMemmap()
function for accessing large datasets on disk without loading the entire data set into memory. 4D-STEM data and large movie files from the CETA2 are two examples where this can be a very useful function. More memmap functions will be included in future releases as data sets get larger and larger.
emd.py can now write datasets with keyword arguments passed directly to h5py. This allows compression and other features to be used transparently. Also emd.py can now retrieve meta data from an emd group without loading the entire data set. Check out the get_emddims
function. Thanks again, @ZGainsforth!
More attention to the algorithms and evaluation routines is planned for the next release as the io module seems to be stabilizing without the need for major fixes or features.
Any feedback is welcome. Please add issues to the github page if you find errors or want new features added.
Bug fixes for large MRC and DM files
This release incorporates two fixes to the mrc.py and dm.py file modules. There were two instances where very large files could not be read due to overflows in numpy integer32 registers.