neutrons / pyrs Goto Github PK
View Code? Open in Web Editor NEWReduction and visualization software for Stress Residual (HB2B)
Home Page: https://neutrons-pyrs.readthedocs.io/en/latest/index.html
License: GNU General Public License v3.0
Reduction and visualization software for Stress Residual (HB2B)
Home Page: https://neutrons-pyrs.readthedocs.io/en/latest/index.html
License: GNU General Public License v3.0
Pole figure calculation adopts rotation matrix with Bunge Euler angles, i.e., in an opposite direction to the linear algebra rotation matrix. Correct it from the current definition.
Reference:
[1] http://engineering.snu.ac.kr/lecture/texture&anisotrop/Texture%20&%20Anisotropy%2010(Representation).pdf
[2] https://en.wikipedia.org/wiki/Rotation_matrix
This will following issue #30.
1. Move Grid-Setup to 3D slicing suite
2. Remove Reset button for different type of strain and stress
3. Slice view with interpolating strain/stress from matched (and only) calculated grids.
Ullich format.
Sample Name
alpha\tbeta\tintensity
1.23\t5.64\t2.49\n
... ...
Enable PyRS to fit peak with scipy optimizer as an option upon users' request.
As one of the Requests form demo on May 8, 2018:
5) Option to compare the center of mass of the diffraction data to the peak center determined via peak fitting.
_reduced_data_dict
Refactor and enhance StrainStressCalculator
Tasks
1. Add a process progress tracker including ‘load’, ‘align’, ‘calculate’ and etc
2. Well organize the data structure for load data, grid alignment, calculated strain/stress
3. A better copy from one strain/stress type to strain type
4. Find a list of grids that are matched among E11/E22/E33
Use cases to support
New use case 1
1. Load data to E11/E22/E33
2. Check alignment and realize it shall be plane stress
3. Reset to plane stress
4. Calculate strain/stress
New use case 2
1. Load data to E11/E22 (plane strain or stress)
2. Check alignment and realize it shall be plane stress
3. Reset to unconstrained strain/stress
4. Load data to E33
5. Align and calculate
Regardless of pause/resume, if VX, VY and VZ are not changed, the counts before pause and after resume shall be split to same output workspace.
use the finest grid as the default plot grid.
bug found in use case: change model from plane strain/stress to unconstrained (solved in #30)
make 1D slice working in 2D slice plot
Initialize pole figure matrix/array with all NaNs. It is because that as matplotlib interpolate data points for contour plot, those NaNs will be ignored. Thus, NaN is a good representation for not-measured data points.
This is a request from users during meeting on Nov 1st.
After pole figure is calculated, it shall plot pole figure automatically;
MTEX file's postfix shall be .jul
MTEX file format
L 1 |NRSF2
L 2 |alpha beta intensity
File: LaB6_10kev_35deg-00004.tif ....
Traceback (most recent call last):
File "./tests/Quick_Calibration_v2.py", line 167, in <module>
engine, pyrs_reducer, mantid_reducer = create_instrument(hb2b_file_name, False, 2048)
File "./tests/Quick_Calibration_v2.py", line 128, in create_instrument
target_dimension=pixel_number, load_to_workspace=True)
File "/home/wzz/Projects/PyRS/build/lib.linux-x86_64-2.7/pyrs/core/reductionengine.py", line 91, in load_data
load_to_workspace=load_to_workspace)
File "/home/wzz/Projects/PyRS/build/lib.linux-x86_64-2.7/pyrs/core/reductionengine.py", line 184, in _load_tif_image
''.format(image_2d_data.shape))
RuntimeError: Current algorithm can only handle 2048 x 2048 TIFF but not of size (4, 2048, 2048)
Add a new peak profile Asymmetric Pearson VII or split. A good example is LD_Log_Data…nxs
Develop a new widget that contains 2 canvas in vertical. The upper one is for data and model, while the lower one is for residual (Data - Model)
Requests form demo on May 8, 2018:
Auto-load data from index 1 when HDF5 data are loaded
Add difference plot between fitted and experimental data when displaying fit results
Add functionality to trim the 2theta range for the data fit
a. Option to pull the data range from the view range of the data display
Extra:
Fix the issue about plotting log vs log
Show contour plot on loaded data
As title. And adapt the change to strain/stress module.
According to the demo on 09.07, the following modification shall be made:
Find out an approach and cost function to calibrate HZB diffractometer including all the data.
After calibration, by given a range on chi (out of plane angle), bin the selected pixels to 2theta-intensity.
Disjoint the pyrscore objects used by Fit Peak, Pole Figure and Strain & Stress.
It can reduce the interference among different interfaces that are used simultaneously.
In strain and stress module, not all the sample logs can be used for grid sample position. There are very limited possibilities. Filter the sample log names and add to combo box. Possible names are
vx, vy, vz, Delta Weld, Delta Thickness, Delta Length, Cuboid *
As title. Required by beam line scientist.
Note
This is the first in a series issues for developing algorithms and UI for HB2B's calibration.
Tasks
Calibration algorithms
And thus there is no need to do it in Strain/stress calculation.
In peak fitting module, it is required to show the fitting error of each individual peak parameter.
This will require the additional support from Mantid::FitPeaks.
Tag:
Location:
/HFIR/HB2B/shared/CALIBRATION/Si422
Including: (same as from DAS log)
For every 5 degree,
According to meeting on Nov. 1st:
Design the skeleton codes for stress/strain module.
Design UI for stress/strain calculation.
Demo must include
Tasks coming from demo
During demo, a list of issues that are exposed including
PyQt4 and PyQt5 conflict: #63.
Fails to fit PseudoVoigt:
HB2B project file shall be completed:
As one of the Requests form demo on May 8, 2018:
4) Option for
a. NRSF2 team will supply data with 2 well resolved peaks
PyRS shall import and compile UI files dynamically but not relies on pyuicX.
Implement GUI and its associated interface modules for texture analysis.
This issue will make sure the UI can have the correct response.
Reduce HZB data from 40 degree to 90 degree.
By visualization of all the reduced data, a decision will be made whether the prototyped calibration approach working with X-ray data can work with neutron data due to the difference in resolution.
Prototype the manual reduction module, including reduction engine and UI.
Design GUI for re-reduction, calibration and peak fitting and beyond.
Browse and load data
Bug fix: if data is reloaded, upper-right corner plot shall be cleared and reset to original status
Bug fix: upper right corner plot’s parameter selection list gets new parameters added to the combobox while the old ones are still remained there.
Remove Lorentzian from the supported peak list because it is not a peak shape for HB2B
(previous 6) Bug fix: handle the case if user input a scan log index out of range to plot
== Note ==
Item 5 is taken out and will be resolved in an individual issue.
5. Output peak parameter ‘mixing’ in the fitted peak parameters
For all the peak fitting related plot, plot peak (data and model) and their residual (error/difference) in different plots.
It will be applied to both peak fitting and texture analysis UI.
From meeting 9/21:
5. Output peak parameter ‘mixing’ in the fitted peak parameters.
Also from meeting Nov 1st:
It is identified as a Mantid issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.