Skip to content

Releases: pace-neutrons/Horace

v4.0.1

29 Oct 20:03
aa5d4a5
Compare
Choose a tag to compare

Release Notes v4.0.1

Minor release, fixing some bugs and dealing with
some optimization issues identified after release.

Bugs fixed:

The details of the fixed issues are available on GitHub

  • #1731 invalid error reporting in load_spe.
  • #1735 Issues with SymopGeneral in cut_sym.
  • #1745 Missing dnd constructor used by spinW and spinW integration tests.
  • #1748 Fixed SymopIdentify taking substantial time while doing cut without symmetries.
  • #1753 horace_mex and issues with cpp_communicator.
  • #1758 horace_install installs spinW integration on request.
  • #1762 horace_demo_script is not working due to reference to removed fit_sqw

v4.0.0

20 Aug 09:42
3af77a9
Compare
Choose a tag to compare

This is version 4 of Horace, which contains major changes to the Horace code produced within 3-years of PACE project development. It is major upgrade from the Horace version 3.6.
Draft version of these changes were used in ISIS in cycles: 2024/1&2.

The code is tested against Matlab versions 2019b-2023b.

As part of major new features we would emphasise:

  1. Fully changed internal structure of sqw objects. In particular:
  • allows usage of different projections (images in different coordinate system)

  • provides the same way of operating with sqw objects regardless of the way they are stored internally (the whole sqw object can stay in memory or , if the pixel data can not fit memory, the object can be stored on files).

  1. New types of cuts using spherical and cylindrical projections

  2. New symmetry operations and ways of symmetrizing sqw objects.

  3. Extended parallel operations, new parallel algorithms for sqw_eval and Tobyfit.

  4. It writes sqw objects in a new more efficient and flexible binary format though still can read of previous versions of sqw files. sqw files produced by Horace-4 can not be read by previous versions of Horace.

  5. Number of less substantial additions and improvement in algorithms and design (more than 1000 competed tickets) refactoring and improving existing algorithms, providing various new features and making code much more modular to allow better maintenance and future Horace development.

v3.6.4

27 Feb 19:08
Compare
Choose a tag to compare

Release Notes v3.6.4

This is bugfix release related to specific issue identified during running Horace.
You may be affected by this issue if you used Horace in ISIS in 2022-February:2023
and want to use Tobyfit or resolution convolution estimates.

To verify if you are affected, take 2D cut around elastic line and see it using run inspector,
e.g:

	test_cut = cut(my_sqw_file,0.1,0.1,[-0.1,0.1],[-10,10]);
	run_inspector(test_cut)

If run_inspector shows only single run contributed to image, your sqw file was generated incorrectly. If
you can see that inspector shows multiple images changing with changed run_id, your sqw file was generated
correctly.

If you want to use Tobyfit or estimate resolution convolution and have incorrectly generated sqw file,
download this release and regenerate your sqw files.
Alternatively use ISIS IDAAaS service to process your data.

Bugfixes

  • #1565 Fixed run_id retrieved from contributing filenames to the pixels
    un_id field

v3.6.3

13 Feb 16:51
Compare
Choose a tag to compare

Release Notes v3.6.3

Minor bugfix release, produced alongside with main development of version 4, to distribute changes requested by users.

Bugfixes

  • #819 Placed back signal function which was erroneously removed earlier.
  • #945 Added fix for the case when pixels run-id do not coincide with run-id, identified in experiment info.
  • #944 Added fix for correct identification of new IDAaaS machines configuration.

v3.6.2

09 Mar 09:56
Compare
Choose a tag to compare

Release fixing number of substantial bugs.

Main bugs fixed:

  • #768 Restored erroneously deleted sqw/dnd methods
    eplicate and sqw method
    un_inspector. Added unit tests for these methods.
  • #771 Fixed the issue, causing inability to set up instrument and sample on large old version filebased sqw files, as the algorithm
    was trying to load all pixel data in memory
  • #780 Fixed Tobyfit not working on recently generated sqw files. The Tobyfit was assuming that all pixel indexes run numbers are
    enumerated from 1 to the number of data headers, while in fact recent sqw files contain actual run number.
  • #781 Fixed bug in spaghetti plot. The routine was failing.
  • #782 Complex synchronization bug has been fixed in combine_sqw.mex code. For some types of pixel data it was causing
    loss of combined pixels and incorrect sqw file as the result.
  • #785 Cuts on large old versioned sqw files were extremely slow, as pixel_range was recalculated each time

v3.6.1

21 Oct 11:53
Compare
Choose a tag to compare

Release Notes v3.6.1

New features

  • Horace planner stores its states in configurations now (planner_confi), so users do not need to enter them each time Horace planner is started. Small changes to Planner GUI and its internal logic.

Critical changes

  • legacy Tobyfit code has been removed from codebase

Bugfixes

  • #737 fixed failure of d1d,d2d,d3d and d4d constructors on array of sqw objects
  • #740 Horace planner does not work with latest versions of Matlab.

v3.6.0

07 Oct 18:39
Compare
Choose a tag to compare

Contains major changes to internal structure of sqw object.
if one wants to modify pixels of an sqw object, and leave original pixels unchanged, he needs to use copy operation

ew_sqw = copy(old_sqw)

Critical changes

  • cut_sqw, if integration applied in inf limits
    e.g. arget = cut_sqw(source,[],[],[-inf,inf],[-inf,inf]),
    the integration limits of the arget object (iint(:,3) & iint(:,4)) are
    set to actual data limits present within source object instead of previous
    [-inf,inf] used before.
    This behaviour may be modified in a future release.

  • SPE data file format is now obsolete and superseded by more advanced binary NXSPE data file format.
    The data obtained from .spe files are now truncated to 4 digits after decimal point.
    The truncation accuracy is currently controlled by constant
    �sciipar_loader.ASCII_PARAM_ACCURACY for detector positions and
    loader_ascii.ASCII_DATA_ACCURACY for spe data properties.
    The reason behind this decision comes from the fact that these data are often
    written with such precision,
    but are converted into double precision when read, and the difference between 4
    digit precision and 16 digit precision is implemented differently on different
    operating systems or using different code (mex or Matlab).
    This causes binary differences between sqw files generated using different modes,
    as binning may become very sensitive to the data accuracy,
    possibly converting ~10-15 error into a bin size difference.
    As the actual data accuracy does not exceed 3 significant digits,
    this change would not affect any physical results produced by the code.
    The truncation parameters may be better implemented as a configurable property,
    specified in herbert_config configuration class.

  • You can no longer pass an array of sqw objects or cell array of sqw
    objects to cut_sqw.
    This removes ambiguity over the return type of the function,
    which could be an array of sqw objects, or, if multiple integration ranges
    are specified, a cell array of arrays of sqw objects
    (see relevant git commit).
    It also removes the problem of only being able to specify one path as the
    outfile argument.
    If an array of sqw objects or sqw file names was passed to cut_sqw and
    the outfile argument was given, each cut would overwrite the file at outfile.
    A loop must now be used to perform multiple cuts.

  • Data serialisation has been rewritten and now includes a MEX variant for improving performance and capabilities of MPI comms and object saving.

  • Herbert parallel extensions may run on a cluster, which run Slurm parallel jobs manager.

v3.5.3

30 Jul 23:16
Compare
Choose a tag to compare

release containing Slurm MPI code and range of minor bugfixes

v3.5.2

24 Jun 15:53
Compare
Choose a tag to compare

bugfix release fixing number of identified issues:

Extremely slow cut in some situations
incorrect spagetty plot in some selected directions
bug in file to file cut. The algorithm was broken
Binary operations on sqw objects created from DND objects were failing
A bug in Horace GUI. The GUI was not starting and failing on some operations.
Added possibility to load nxspe files from GUI.

v3.5.1

18 Jan 15:33
Compare
Choose a tag to compare

Release Notes v3.5.1

Bugfixes

  • A bug that was causing an error when mask_random_pixels or mask_random_fraction_pixels was called has been fixed. (#500).