Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 142 additions & 47 deletions docs/user-guide/beer/beer_modulation_mcstas.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
"metadata": {},
"outputs": [],
"source": [
"%matplotlib ipympl\n",
"import plopp as pp\n",
"import scippneutron as scn\n",
"\n",
"from ess.beer import BeerModMcStasWorkflow, BeerModMcStasWorkflowKnownPeaks\n",
Expand Down Expand Up @@ -159,8 +161,11 @@
"outputs": [],
"source": [
"wf = BeerModMcStasWorkflowKnownPeaks()\n",
"wf[DetectorBank] = 2\n",
"wf[Filename[SampleRun]] = mcstas_silicon_medium_resolution()\n",
"wf.compute(RawDetector[SampleRun])['bank1'].hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"da = wf.compute(RawDetector[SampleRun])\n",
"da.masks.clear()\n",
"da.hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -179,9 +184,19 @@
"outputs": [],
"source": [
"wf[DHKLList] = silicon_peaks_array()\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), silicon_peaks_array())"
"wf[Filename[SampleRun]] = mcstas_silicon_medium_resolution()\n",
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), silicon_peaks_array())"
]
},
{
Expand All @@ -201,9 +216,19 @@
"source": [
"wf = BeerModMcStasWorkflow()\n",
"wf[Filename[SampleRun]] = mcstas_silicon_medium_resolution()\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), silicon_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), silicon_peaks_array())"
]
},
{
Expand All @@ -223,11 +248,9 @@
"metadata": {},
"outputs": [],
"source": [
"da = da['bank2'].copy()\n",
"da.masks.clear()\n",
"da.bins.masks['too_far_from_center'] = ~da.bins.masks.pop('too_far_from_center')\n",
"\n",
"da.bins.concat().hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"da.bins.concat().hist(two_theta=400, event_time_offset=400).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -254,8 +277,9 @@
"outputs": [],
"source": [
"wf = BeerModMcStasWorkflowKnownPeaks()\n",
"wf[DetectorBank] = 1\n",
"wf[Filename[SampleRun]] = mcstas_duplex(8)\n",
"wf.compute(RawDetector[SampleRun])['bank1'].hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-2)"
"wf.compute(RawDetector[SampleRun]).hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-2)"
]
},
{
Expand All @@ -274,9 +298,18 @@
"outputs": [],
"source": [
"wf[DHKLList] = duplex_peaks_array()\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -296,9 +329,18 @@
"source": [
"wf = BeerModMcStasWorkflow()\n",
"wf[Filename[SampleRun]] = mcstas_duplex(8)\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -318,11 +360,10 @@
"metadata": {},
"outputs": [],
"source": [
"da = da['bank2'].copy()\n",
"da.masks.clear()\n",
"da.bins.masks['too_far_from_center'] = ~da.bins.masks.pop('too_far_from_center')\n",
"\n",
"da.bins.concat().hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"da.bins.concat().hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -349,8 +390,9 @@
"outputs": [],
"source": [
"wf = BeerModMcStasWorkflowKnownPeaks()\n",
"wf[DetectorBank] = 1\n",
"wf[Filename[SampleRun]] = mcstas_duplex(9)\n",
"wf.compute(RawDetector[SampleRun])['bank1'].hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"wf.compute(RawDetector[SampleRun]).hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -369,9 +411,18 @@
"outputs": [],
"source": [
"wf[DHKLList] = duplex_peaks_array()\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -391,9 +442,18 @@
"source": [
"wf = BeerModMcStasWorkflow()\n",
"wf[Filename[SampleRun]] = mcstas_duplex(9)\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -413,11 +473,10 @@
"metadata": {},
"outputs": [],
"source": [
"da = da['bank2'].copy()\n",
"da.masks.clear()\n",
"da.bins.masks['too_far_from_center'] = ~da.bins.masks.pop('too_far_from_center')\n",
"\n",
"da.bins.concat().hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"da.bins.concat().hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -444,8 +503,9 @@
"outputs": [],
"source": [
"wf = BeerModMcStasWorkflowKnownPeaks()\n",
"wf[DetectorBank] = 1\n",
"wf[Filename[SampleRun]] = mcstas_duplex(10)\n",
"wf.compute(RawDetector[SampleRun])['bank1'].hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"wf.compute(RawDetector[SampleRun]).hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -464,9 +524,18 @@
"outputs": [],
"source": [
"wf[DHKLList] = duplex_peaks_array()\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -486,9 +555,18 @@
"source": [
"wf = BeerModMcStasWorkflow()\n",
"wf[Filename[SampleRun]] = mcstas_duplex(10)\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -508,11 +586,10 @@
"metadata": {},
"outputs": [],
"source": [
"da = da['bank2'].copy()\n",
"da.masks.clear()\n",
"da.bins.masks['too_far_from_center'] = ~da.bins.masks.pop('too_far_from_center')\n",
"\n",
"da.bins.concat().hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"da.bins.concat().hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -539,8 +616,9 @@
"outputs": [],
"source": [
"wf = BeerModMcStasWorkflowKnownPeaks()\n",
"wf[DetectorBank] = 1\n",
"wf[Filename[SampleRun]] = mcstas_duplex(16)\n",
"wf.compute(RawDetector[SampleRun])['bank1'].hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"wf.compute(RawDetector[SampleRun]).hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
},
{
Expand All @@ -559,9 +637,18 @@
"outputs": [],
"source": [
"wf[DHKLList] = duplex_peaks_array()\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -581,9 +668,18 @@
"source": [
"wf = BeerModMcStasWorkflow()\n",
"wf[Filename[SampleRun]] = mcstas_duplex(16)\n",
"da = wf.compute(TofDetector[SampleRun])\n",
"da = da.transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
"ground_truth_peak_positions(da.hist(dspacing=dspacing, dim=da.dims).plot(), duplex_peaks_array())"
"\n",
"results = {}\n",
"for bank in (1, 2):\n",
" wf[DetectorBank] = bank\n",
" da = wf.compute(TofDetector[SampleRun])\n",
" results[bank] = (\n",
" da\n",
" .transform_coords(('dspacing',), graph=scn.conversion.graph.tof.elastic('tof'),)\n",
" .hist(dspacing=dspacing, dim=da.dims)\n",
" )\n",
"\n",
"ground_truth_peak_positions(pp.plot(results), duplex_peaks_array())"
]
},
{
Expand All @@ -603,11 +699,10 @@
"metadata": {},
"outputs": [],
"source": [
"da = da['bank2'].copy()\n",
"da.masks.clear()\n",
"da.bins.masks['too_far_from_center'] = ~da.bins.masks.pop('too_far_from_center')\n",
"\n",
"da.bins.concat().hist(two_theta=1000, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
"da.bins.concat().hist(two_theta=400, event_time_offset=1000).plot(norm='log', cmin=1.0e-3)"
]
}
],
Expand All @@ -627,7 +722,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
"version": "3.11.13"
}
},
"nbformat": 4,
Expand Down
Loading
Loading