Run esssans workflow on polarized ISIS data
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1
- Forks
- 3
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 17
Description
Executive summary
We need to read in the 4-period (4 spin channel) ISIS data into the esssans workflow to test at which point of the unpolarized workflow we can insert the polarization workflow. Subsequently, testfunctions from the esspolarization workflow shall be tested on the polarized data inserted into esssans
Context and background knowledge
Johannes has rewritten codes in the esssans workflow such that instead of one single SampleRun file now the 4-period polarization data can be inserted. For that, we do not call iofq[SampleRun], but e.g. iofq['++' / '+-' / '-+' / '--']. He has written it into the issue "fix-add-monitors"
Inputs
As example file for a "sample run" for the esssans workflow I take the polarized data ZOOM00022717.nxs. All other files are taken over from the example set for esssans. According to the ISIS ZOOM beamline scientist, the 'ZOOM00022717.nxs' data is to bea read out on monitor 5, as it is a 'SANS' mode data. ('TRANS' mode data instead would be read out on monitor 4). Also, according to Simon, pl[ReturnEvents] now has to be set to True to take the data in eventmode. Data is read in via mantid and locally saved files.
- IMPORTANT: to try functions from the previous esssans workflow (e.g. plot(iofq.items())),
pl[ReturnEvents]has to be set back toFalse
Methodology
Use esssans, but divide data into keys of ['++' / '+-' / '-+' / '--']
Outputs
Some functions, e.g. iofq['++' / '+-' / '-+' / '--'] work, but others, e.g. isis.plot_flat_detector_xy(results[MaskedData['++']]) not - which. syntax to use?
Which interfaces are required?
Jupyter notebook
Test cases
testdata ZOOM00022717.nxs from Diego Alba Venero, saved locally
Comments
Open questions:
- Why does the down-incoming spin channel obtain lower Q than the up-incoming spin channel?
- Why does the flat_detector_xy on the Sample run look
isis.plot_flat_detector_xy(results[MaskedData[SampleRun]])look so weird? Maybe becuase it is made out of 4 periods with 4 spin channels? Why doesisis.plot_flat_detector_xy(results['++'])orisis.plot_flat_detector_xy(results[MaskedData['++']])not work and what would be the correct syntax / how should I insert it? - Same question: Why does
pl.compute(IofQ['++'])not work? - Maybe here we have to think about at which point of the workflow to insert the polarization data and where to insert the polarization workflow before the final histogramming!!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the esssans workflow and the locally saved ZOOM00022717.nxs test data in a Jupyter notebook, using the four spin-channel keys and the stated monitor and ReturnEvents settings. Compare the functions that work with those that fail, including plot_flat_detector_xy and compute, and consult the fix-add-monitors issue. Done means the polarization data runs through the workflow and the insertion point for esspolarization, along with correct syntax for the affected functions, is established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100