Release Notes v4.2.0
Highlights
-
#1925 Horace images now contain references to the Horace objects, plotted from them.
src(figure)command allows one to retrieve the object from the figure and continue
analysing this object. -
#1937 new algorithm
draw_maskallows generation of requested mask providing sequence of points
surrounding masked area.
If image processing toolbox (IPT) is available, the mask may be drawn on a 2D-Horace image directly.
If IPT does not available, user needs to read coordinates of the points surrounding area
he wants to mask manually and provide their coordinates as 2-dimensional array of points. -
#1668, #1908, #1918 Symmetry operations interface (for
SymopReflectionandSymopRotation)
have been modified to define rotation or reflection plane using either normal vector to the
plane or two vectors within this plane, whatever user prefers.
Both options produce the same results for orthogonal crystal lattice but for a non-orthogonal lattice
the definition which uses normal vector needs additional information about the coordinate system this vector is expressed in.
User documentation have been modified to reflect the changes and describe what is necessary for different lattices. -
#1822 fixed issues with pixels missing in cuts build using symmetry operations. The cuts now contain pixels modified correctly so that the follow-up cuts from cut objects can be performed properly. Also fixed issues with
units for offset in symmetry operations which were misleading to users and incorrect in some situations. -
#896 a-e Updated
mexcode and enable it for binning pixels. Horace-3 was using mex code for
binning pixels in some algorithms. Horace-4 have substantially refactored these algorithms
and disabledmexcode. As the result, the algorithms (e.g. cut) which were completely IO bound
in Horace-3,take 60% of its time in MATLAB calculations in Horace-4. This contribution
sorts this issue, updates and modifiesbin_pixelscode to run in all cases where MATLAB code
is used and makes majority of Horace algorithms which usebin_pixelsalgorithms significantly IO-speed
constrained again. The memory-only operations in OMP mode have been accelerated 4-10 times depending
on operation.
Bugs fixed and code improvements:
-
#1912 Bug where Tobyfit does not accept multiple
sqwobjects as input i.e. call to Tobyfit in the form:
tobyfit(sqw1,sqw2,...)have been fixed. -
#1904 Fixed incorrect treatment of
[-inf,inf]cut limits when corresponding direction
in the original file is described by projection axis. Resulting cut ranges were
incorrectly reduced by half of original binning step in each direction. -
#1848
symmetrize_sqwnow can work with rotational symmetry operations.
To achieve that, algorithm which calculates transformation ranges when
sqwtransformation duringsqwgeneration is provided was modified. In addition to that,
the algorithm to generatesqwobjects when transformation is present
has to be modified too. This fixed bugs and improve the efficiency of this
algorithm eliminating expensive unnecessary binning within intermediate boundaries.
The resulting routine works faster and does not cut-off unnecessary pixels. -
#1925 fixed issue when saved temporary filebacked object moves unnecessary
to current folder.The details of the fixed issues are available on
GitHub