Ticket #8958 (closed: fixed)
SaveAnsto save Algorithm
Reported by: | Keith Brown | Owned by: | Keith Brown |
---|---|---|---|
Priority: | major | Milestone: | Release 3.2 |
Component: | Reflectometry | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #8960, #8963 | Tester: | Roman Tolchenov |
Description
Ansto is a file format the ISIS reflectometry gui can save to, but at present it's written in python.
Write a c++ algorithm for it.
Change History
comment:2 Changed 7 years ago by Keith Brown
- Status changed from new to inprogress
Refs #8958 Initial Files Created
Created the cpp, h and test.h for SaveANSTO and added them to the list.
The files contain a skeleton which allows the project to build but they'll not do anything
Changeset: b922bc4f650532502ec70774361c68895c56e528
comment:3 Changed 7 years ago by Keith Brown
Refs #8958 Save Algorithm Written
The algorithm outputs the same data as the python script wiht the exception of inf and nan where it prints them in a different form.
Owen has said that it should be ok and we'll get the scientists to check
Changeset: 357a8e4a6dfd2a3e605bcb99ae97ede164f9e9f4
comment:4 Changed 7 years ago by Keith Brown
refs #8958 added a file check
The ofstream is now checked to see if it was able to open the file.
Changeset: 934c5b448e9ba68a849f4ebabc8d4138a406c953
comment:5 Changed 7 years ago by Keith Brown
Refs #8958 Written unit test
SaveANSTO now has a basic unit test. Still needs a few more to push it a bit.
Changeset: 10f8c12d8c0e15b7fd6dce188450e50fab5938fb
comment:6 Changed 7 years ago by Keith Brown
Refs #8958 Extra test added
Not much else you can test on this algorithm, i've jsut added a fail test for a fake workspace
I also removed calls to initialize() as they weren't needed when using the AlgorithmManager
Changeset: 9609eead9f824dd17dd87167b2d32527d6c467a6
comment:7 Changed 7 years ago by Keith Brown
Refs #8958 disable failing unit test
Linux and windows deal with nan values differently and it's causing a problem. I need to redefine the file fomat a tad so we know what to expect.
the failing tests have ben disabled so the buildservers can get back to normal
Changeset: 775e1431661b468afa06ca1fc9c9fff6bba49e4d
comment:8 Changed 7 years ago by Keith Brown
Refs #8958 Sorted complier warnings
there were a couple of "comparison between signed and unsigned int" warnings.
I also changed a couple of autos to const references of thier actual types on martyn's suggestion.
Changeset: 197fc5c0ab6ed6f996bfc070259a52c7a7cd718c
comment:9 Changed 7 years ago by Keith Brown
Refs #8958 Renamed algorithm files
The algorithm is being renamed, files have been renamed
Changeset: 7eb694f9814cb2c2ddb601f06f2dd10039463114
comment:10 Changed 7 years ago by Keith Brown
Refs #8958 Renamed and refactored
The aglorithm has no been fully renamed from SaveANSTO to SaveANSTOAscii.
The test has also been heavily refactored to strip out some duplication, re-implement some parts in a way i've been advised to do and changed the testing to a better more strict way.
Windows now catches that nan that linux caught, as it was the way the stream opperator worked.
Changeset: 941feb561427d49751c5ff52bd68d14d358eee05
comment:11 Changed 7 years ago by Keith Brown
Refs #8958 checks and outputs nan and inf consistently
Nan and inf values are checked for and output in a constant format. (hopefully across platforms)
Changeset: 94bd6e912744d9017496de9ecc65a96b463b1dde
comment:12 Changed 7 years ago by Keith Brown
Refs #8958 Unit test now checks for special values
The unit test now looks for a NAN or INF in one of the tests. This means that the test will still pass if a platform outputs a different special value for divide by zero, as by all rights both NAN and INF are both valid results.
Changeset: e3b112c789b2f4aa37c62060546b0bef929ed389
comment:13 Changed 7 years ago by Keith Brown
Refs #8958 Forgot an include
When i added the boost::math functions i forgot to add the inlcude. Windows didn't seem to care as it was apprently in a precompiled header.
Changeset: 9f1f7340b163e2f1fe898f4d9d17d3d4be53d5f4
comment:14 Changed 7 years ago by Keith Brown
- Status changed from inprogress to verify
- Resolution set to fixed
comment:15 Changed 7 years ago by Keith Brown
- Status changed from verify to reopened
- Resolution fixed deleted
just realised there are a few errors
comment:16 Changed 7 years ago by Keith Brown
- Status changed from reopened to inprogress
Refs #8958 Renamed variables and improved vector allocation.
The vector is now initialised and alocated in one go, which should eb much more efficent.
Many variables have been renamed, before now they were using the same names as they did in Max's code
Changeset: 6dba6a8e4a116052e440641a38eaa2f89b4e41ff
comment:17 Changed 7 years ago by Keith Brown
- Status changed from inprogress to verify
- Resolution set to fixed
To tester
Save a workspace from within the ISIS reflectometry GUI using the ANSTO format (File->Save Workspaces)
Then save the same workspace with the new SaveANSTOAscii algorithm, the resulting files should be identical
- General use instructions - http://www.mantidproject.org/ISIS_Reflectometry_GUI
- Testing instructions - http://www.mantidproject.org/Testing_ISIS_Reflectometry_GUI
comment:18 Changed 7 years ago by Peter Parker
- Status changed from verify to reopened
- Resolution fixed deleted
That last commit needs a checkbuild, Keith, as it's not in Develop.
comment:19 Changed 7 years ago by Keith Brown
That'll be because of the forced updates to develop. Will do that in a bit
comment:20 Changed 7 years ago by Keith Brown
- Status changed from reopened to verify
- Resolution set to fixed
comment:21 Changed 7 years ago by Roman Tolchenov
- Status changed from verify to verifying
- Tester set to Roman Tolchenov
comment:22 Changed 7 years ago by Roman Tolchenov
- Status changed from verifying to reopened
- Resolution fixed deleted
The WIKI section is too short. Is there a LoadANSTO algorithm?
comment:23 Changed 7 years ago by Keith Brown
Nope, no paired load algorithm as this is literally an export format and what it saves will make zero sense in mantid.
But I'll admit the WIKI section could be more descriptive
comment:24 Changed 7 years ago by Keith Brown
- Blocking 8960 added
#8960 is now being blocked by this as these algorithms need to be subclassed from the same base functionality as they're VERY similiar
comment:25 Changed 7 years ago by Keith Brown
- Status changed from reopened to inprogress
Refs #8958 Added wiki information
Added some wiki information. Basically enough to show that this is a specific-use save algorithm as well as explicitly mentioning that the result is not meant to be loaded back into mantid
Changeset: 0bf86f34320044ff136004f99f6817f868d92e3e
comment:26 Changed 7 years ago by Keith Brown
- Status changed from inprogress to verify
- Resolution set to fixed
comment:28 Changed 7 years ago by Roman Tolchenov
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/feature/8958_SaveAnsto_Algorithm'
Full changeset: fc7c42c56c36715f690b6dbbc1af713cd282727d
comment:29 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 9801