Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
977 commits
Select commit Hold shift + click to select a range
12707b7
Fix user tutorial 3
AndrewSazonov Sep 14, 2021
9e95d67
Try to show `action failure` on non-zero exit status
AndrewSazonov Sep 14, 2021
b1a9f35
Fix the formatting of the licence name in config.xml
AndrewSazonov Sep 14, 2021
ad80d6a
Fixed experiment removal on project reset.
rozyczko Sep 18, 2021
97b94ec
Explicitly and quickly remove background points on state reset.
rozyczko Sep 20, 2021
e9ca0f5
Remove the point only when there are points to be removed.
rozyczko Sep 20, 2021
87d0486
Remove constraints on state reset.
rozyczko Sep 20, 2021
35b23c9
Reinstantiate the fitter object after calculator change
rozyczko Sep 21, 2021
5f55b7f
Fix fitting
wardsimon Sep 23, 2021
4cbc739
Keep only least-squares minimization methods
AndrewSazonov Sep 24, 2021
ee5e796
Add missing points to the measured data
AndrewSazonov Sep 24, 2021
ce08768
Set least_squares as a default minimization method
AndrewSazonov Sep 24, 2021
7c990ea
Temporarily disable automatic code signing on Windows
rozyczko Sep 30, 2021
a3590da
Update readme with TOF, constraints, etc.
AndrewSazonov Sep 30, 2021
c2c8616
Update the release notes
AndrewSazonov Sep 30, 2021
1d40417
Update project config
AndrewSazonov Sep 30, 2021
1cc1dec
Install easyDiffractionLib from our custom PyPi server
AndrewSazonov Oct 4, 2021
5c2112b
Rename package to easyDiffractionApp
AndrewSazonov Oct 4, 2021
cd519b1
Fix app name
AndrewSazonov Oct 4, 2021
5cac781
Fix app name in build script
AndrewSazonov Oct 4, 2021
28b816a
Fix date
AndrewSazonov Oct 4, 2021
611275e
Fix app name
AndrewSazonov Oct 4, 2021
a032838
Update changelog
AndrewSazonov Oct 4, 2021
98f9ef2
Cross platform date without leading 0
AndrewSazonov Oct 4, 2021
7523a7e
Fix app name in build script
AndrewSazonov Oct 4, 2021
404fa70
Online installer for `master`or `hot_fixes`branches only
AndrewSazonov Oct 5, 2021
491d52a
Update readme
AndrewSazonov Oct 5, 2021
21a11fe
Install toml before calling utils.py
AndrewSazonov Oct 5, 2021
f1be294
Install pip package
AndrewSazonov Oct 5, 2021
882962f
PyInstaller can't find pip? Import pip inside extraDict()...
AndrewSazonov Oct 5, 2021
4e170db
Manually add pip and toml to pyinstaller
AndrewSazonov Oct 5, 2021
b2c1234
Try pyinstaller 4.5.1 instead of 5.0.dev
AndrewSazonov Oct 5, 2021
fcbd16e
Auto generate date for installer
AndrewSazonov Oct 5, 2021
1c2da48
Merge branch 'master' into develop
rozyczko Oct 5, 2021
7a900eb
Fixed typo
rozyczko Oct 5, 2021
5715839
Distinguish between master and non-master branches for GitHub releases
AndrewSazonov Oct 5, 2021
3688586
Update RELEASE.md [ci skip]
wardsimon Oct 5, 2021
63d3de2
Update build.yml
AndrewSazonov Oct 5, 2021
a466de2
Minor fixes to the 0.8.2 release for issues found during release
rozyczko Oct 8, 2021
b5446a7
Remove duplicates [ci skip]
AndrewSazonov Oct 11, 2021
d125d37
Merge branch 'master' into develop
rozyczko Oct 12, 2021
04135bc
Merge branch 'develop' into fixes_0.8.2
rozyczko Oct 12, 2021
09eb338
Fixed project save.
rozyczko Oct 21, 2021
c80196e
Explicitly copy GSASII.libs and CFML.libs on Windows. #149
rozyczko Oct 22, 2021
03eb2a0
getsitepackages() weirdness
rozyczko Oct 22, 2021
73004d0
Develop branch updated with necessary fixes
rozyczko Nov 17, 2021
1d4585d
enabled tutorials on windows
rozyczko Nov 17, 2021
996531f
Initial tests - added convenience method to get the components from
rozyczko Nov 18, 2021
d1d933a
updated the lib branch
rozyczko Nov 18, 2021
abab68e
More proper implementation with separate 3rd grey line for current
rozyczko Nov 19, 2021
3d2b695
Point to the right branch of easyApp
rozyczko Nov 19, 2021
fd20bca
check if get-DisplayResolution is working
rozyczko Nov 23, 2021
ff4ba42
Allow multiple phase adds and modified button caption accordingly.
rozyczko Nov 23, 2021
6f450bc
Add return code to copyFile() for debugging purposes
rozyczko Nov 23, 2021
ebfed98
Try pyinstaller 4.5.1 instead of 4.7
AndrewSazonov Nov 23, 2021
c58fcb0
Try pyinstaller 4.6 instead of 4.7
AndrewSazonov Nov 23, 2021
40c6e00
Fix pyinstaller to be 4.5.1 as 4.6-4.7 failed on Ubuntu
AndrewSazonov Nov 23, 2021
d515296
Use python 3.8 instead of 3.7
AndrewSazonov Nov 23, 2021
591df9e
Refactor addedData()
AndrewSazonov Nov 23, 2021
0888e6b
Add code signing on macOS. Remove on Windows
AndrewSazonov Nov 23, 2021
d0da8b6
Run all steps in sign macos
AndrewSazonov Nov 23, 2021
9fd4d35
Fix identity variable
AndrewSazonov Nov 23, 2021
9254c38
Add 'verify app signatures' step
AndrewSazonov Nov 23, 2021
859c194
Update release notes
AndrewSazonov Nov 23, 2021
6dc7181
Add notarization and stapling steps
AndrewSazonov Nov 26, 2021
6a0d303
DOn't trust the calculator to contain anything
rozyczko Nov 26, 2021
1fcf9d7
Split sign app command into multiple lines
AndrewSazonov Nov 26, 2021
a0087da
Fix App Store notarization variables
AndrewSazonov Nov 26, 2021
9c67af7
Use same names for app and zip in notarization
AndrewSazonov Nov 26, 2021
80d43a7
Delete submitted zip of notarized app installer
AndrewSazonov Nov 26, 2021
fffa6f3
Fix zipped installer path in notarize step
AndrewSazonov Nov 26, 2021
5e08161
Removing a phase triggers unwanted index update on clicked row. Guard
rozyczko Nov 26, 2021
9169428
Handle lag on Apple server before stapling
AndrewSazonov Nov 26, 2021
f7199d2
Increase delay after notarization to 2 minutes
AndrewSazonov Nov 26, 2021
68c5291
Enable code signing for master branch only
AndrewSazonov Nov 26, 2021
c00137f
Remove copying maintenancetool on Windows
AndrewSazonov Nov 26, 2021
cde05aa
Fix phase scaling issues
wardsimon Nov 29, 2021
4e9a978
Enable multi-phase change
wardsimon Nov 29, 2021
98be549
Fix scale in examples
wardsimon Nov 29, 2021
fb32a64
Add multiphase example: Si3N4
AndrewSazonov Dec 2, 2021
5cafc16
Display all phases on the analysis chart
AndrewSazonov Dec 7, 2021
fabe014
Update multi-phase example
AndrewSazonov Dec 8, 2021
0cf461c
Add support for the multiple HKL sets
AndrewSazonov Dec 8, 2021
2952ca9
Enable tutorial creation for Windows (#181)
rozyczko Dec 13, 2021
939e6d3
Don't calculate the profile twice on project load. That's a bit silly.
rozyczko Dec 15, 2021
6300af7
State reset removes all the phases now. #189
rozyczko Jan 10, 2022
0152fc7
slight performance improvement for project loads.
rozyczko Jan 11, 2022
17a6a38
Avoid profile calculation on project reset. This was a "byproduct" of
rozyczko Jan 11, 2022
6730107
Assign interface before phases are added. This avoids recalculation of
rozyczko Jan 14, 2022
27b1f48
Merge atom_symbol_case, solving #184
rozyczko Jan 17, 2022
e428c59
Fix for getting HKL's
wardsimon Jan 19, 2022
9e1bfe1
Use easyCrystallography
wardsimon Jan 19, 2022
80175be
Update branch name.
rozyczko Jan 20, 2022
b81f6cf
Merge remote-tracking branch 'origin/easyCrystallography' into releas…
rozyczko Jan 20, 2022
35e659d
Fixed the multiphase example project.
rozyczko Jan 21, 2022
7cc905b
Add the missing crystallography content
rozyczko Jan 21, 2022
feb98ac
Merge remote-tracking branch 'origin/windows_calculators' into releas…
rozyczko Jan 21, 2022
f8786d8
CHange module name after refactoring in core
rozyczko Jan 24, 2022
c075877
Fix the scipy interpolation errors for backgrounds
rozyczko Jan 24, 2022
70bce38
The data recalculation is required for undo/redo.
rozyczko Jan 24, 2022
3bdbee9
Merge branch 'release-0.8.3' of https://github.com/easyScience/easyDi…
rozyczko Jan 24, 2022
031e748
Added Si3N4 multiphase project example
rozyczko Jan 27, 2022
d266b0c
Merge branch 'develop' into release-0.8.3
rozyczko Feb 1, 2022
2387e05
multiphase -> develop dependency for the lib
rozyczko Feb 1, 2022
54382c4
Updated copyright year
rozyczko Feb 2, 2022
61dc0e6
Take 'develop' branch of the library - testing
rozyczko Feb 3, 2022
73a0c9e
Switch to master branches for App and Lib
rozyczko Feb 6, 2022
c9d67c7
Merge branch 'master' into develop
rozyczko Feb 9, 2022
5f789f5
Update build-in examples
AndrewSazonov Feb 9, 2022
1824f5f
Update repo examples
AndrewSazonov Feb 9, 2022
d7c9482
Increase number of visible rows in examples
AndrewSazonov Feb 9, 2022
f801211
Merge pull request #192 from easyScience/build-in_examples
rozyczko Feb 11, 2022
9145a44
Merge branch 'develop' into macos_sign
rozyczko Mar 4, 2022
5eb8f26
Test signing
rozyczko Mar 4, 2022
337b89d
Back to signing on master branch only
rozyczko Mar 4, 2022
83ca0fa
Added radio buttons to choose spin combination
rozyczko Mar 11, 2022
e9068bf
fixed easyApp dependency for this branch
rozyczko Mar 11, 2022
fa182f7
Added experiment, project and parameter logic for radial buttons.
rozyczko Mar 14, 2022
23a8b40
move spin logic to experiment
rozyczko Mar 16, 2022
8f9922f
Made spin controls proxy methods agnostic
rozyczko Mar 16, 2022
57677ca
Added Diffraction radiation control
rozyczko Mar 17, 2022
e157d36
Added Refinement groupbox and corresponding logic
rozyczko Mar 17, 2022
8ed4da6
Added Msp groupbox
rozyczko Mar 18, 2022
14bd24e
Added polarized example project
rozyczko Mar 18, 2022
a1a0764
standardize naming
rozyczko Mar 22, 2022
39708e4
synchronize radio groups in analysis and experiment
rozyczko Mar 22, 2022
134d8fc
Updates after changes in the lib
rozyczko Mar 24, 2022
b022f25
build off of 'polarized' branch of the lib
rozyczko Mar 24, 2022
3d6192f
switch to polarizedV2 for the library
rozyczko Mar 30, 2022
95b30e0
missed Base -> ObjectClasses case
rozyczko Apr 4, 2022
b7bbf27
Fix poetry dependencies
AndrewSazonov Apr 11, 2022
f553377
Added initial version of msp display
rozyczko Apr 11, 2022
2105d5f
Fix ADP and MSP table columns width
AndrewSazonov Apr 11, 2022
5a5e48e
Merge branch 'polarized' into poetry
AndrewSazonov Apr 11, 2022
10db51a
Merge pull request #200 from easyScience/poetry
rozyczko Apr 12, 2022
432cba7
Added polarization control combobox.
rozyczko May 4, 2022
c2073c4
Temporarily disable ADPs in default phase
AndrewSazonov May 6, 2022
7da2b3e
Add experimental data in CIF format
AndrewSazonov May 6, 2022
0ad5620
Add GUI filter for CIF-based experimental files
AndrewSazonov May 6, 2022
46c6bd1
Initial support of experimental CIF
AndrewSazonov May 6, 2022
a6bf783
minor fixes for polarized
rozyczko May 12, 2022
06f775e
Removed debug cruft, causing fitting problems.
rozyczko May 12, 2022
8d71656
Merge remote-tracking branch 'origin/polarized' into cif_experiment
AndrewSazonov May 12, 2022
a67e308
Get some pattern and instrumental parameters from CIF
AndrewSazonov May 12, 2022
d4749b0
Temporarily fix all experimental parameters
AndrewSazonov May 12, 2022
7294228
Add Up and Down to polarized refinement options.
rozyczko May 20, 2022
346212e
Modified argument passing for profile calcs
rozyczko May 23, 2022
abb444b
Proper display and handling of beam polarization parameters.
rozyczko May 23, 2022
c80a726
Show the isotropic MSP components
rozyczko May 24, 2022
2b7a977
Make Ciso default
rozyczko May 25, 2022
13ccc9d
fixes for display and behaviour of polarization-related controls
rozyczko May 25, 2022
82d3742
Fixed variable names typo
rozyczko May 25, 2022
8f5405c
Fixed example projects
rozyczko May 30, 2022
220fc89
Correct conditionals for loading certain sidebar groups for polarized
rozyczko Jun 1, 2022
24cef52
Fix state dump for unpolarized
rozyczko Jun 1, 2022
1eb36ba
Some more conditionals for undefined properties
rozyczko Jun 1, 2022
10d8998
Updated premade project examples: PbSO4 and Fe3O4
rozyczko Jun 1, 2022
7f9fbdd
A few updated examples in both Examples and Gui/Resources locations
rozyczko Jun 1, 2022
52262bd
Show correct intensities when switched back to the sum component.
rozyczko Jun 2, 2022
9eff397
Merge branch 'polarized' into cif_experiment
AndrewSazonov Jun 2, 2022
f9fda17
Rename `addPoint` to `addDefaultPoint`
AndrewSazonov Jun 2, 2022
fff8589
Add `addPoint` with custom `x` and `y` for background obj
AndrewSazonov Jun 2, 2022
a38a570
Read background from CIF
AndrewSazonov Jun 2, 2022
5520aaf
Read phase labels and scales from CIF
AndrewSazonov Jun 2, 2022
585efca
Update multi-phase example with experiment CIF file
AndrewSazonov Jun 2, 2022
d1313e4
Update Co2SiO4 example
AndrewSazonov Jun 2, 2022
ac980c9
Hide/show sidebar groups depends on experiment type
AndrewSazonov Jun 2, 2022
e56b4a3
Display the difference plots properly
rozyczko Jun 3, 2022
bfc16af
Merge branch 'cif_experiment' into polarized
rozyczko Jun 3, 2022
62573df
Background should be added after measured data has been applied.
rozyczko Jun 7, 2022
23c3fb7
Don't show indices for Ciso param display
rozyczko Jun 13, 2022
f434499
Enable parameter update in all views.
rozyczko Jun 13, 2022
21aa372
Capitalize app name
AndrewSazonov Jun 15, 2022
b05abef
Add tooltips to project examples
AndrewSazonov Jun 15, 2022
d047ad3
Increase width of the ADP and MSP label columns
AndrewSazonov Jun 16, 2022
6d2c353
Only subtract bkg when matching bkg available
rozyczko Jun 20, 2022
e3ddc51
Show the MSP section only when msp data read in or experiment is
rozyczko Jun 20, 2022
4e32b91
Implement experiment type and diffraction radiation parameters reading
AndrewSazonov Jun 23, 2022
011399e
Update examples and add some experiment CIF files
AndrewSazonov Jun 23, 2022
ddd7762
Fix MSP display
wardsimon Jun 24, 2022
aba1d05
Update Fe3O4 experiment and add Rhochi files
AndrewSazonov Jun 24, 2022
eba307d
Add magnetic field
wardsimon Jun 27, 2022
0f1ee59
Add magnetic field to GUI - Experiment - Instrument setup
AndrewSazonov Jun 27, 2022
afbf04f
Fixed passing of kwargs
wardsimon Jun 29, 2022
c5aa7dc
Remove normalisation of the sum
AndrewSazonov Jul 4, 2022
ca8e0bf
Fixed initial display of measured data
rozyczko Jul 5, 2022
9216328
Don't recalculate profile on spin case change
rozyczko Jul 5, 2022
ffd297b
Hide the refinement group until it actually works
rozyczko Jul 5, 2022
2ed28b1
added debug info
rozyczko Jul 6, 2022
5106ab8
change case of app_name
rozyczko Jul 6, 2022
162dc0b
added hidden import of gemmi
rozyczko Jul 6, 2022
9b16839
a more direct way of assuring gemmi is copied
rozyczko Jul 6, 2022
3a1f452
added direct dependency on gemmi
rozyczko Jul 6, 2022
8debee0
gemmi no longer needed as explicit data in pyinstaller setup
rozyczko Jul 6, 2022
3924d1e
Disable tutorial to test locally
rozyczko Jul 6, 2022
d5c3285
Corrected loading of experimental background for various cases
rozyczko Jul 6, 2022
7206652
See local dir after tutorial run
rozyczko Jul 6, 2022
d3b6dbd
Remove debug printout
rozyczko Jul 6, 2022
13e9ed5
Merge pull request #203 from easyScience/fixing_ci
rozyczko Jul 6, 2022
b0900aa
Polar fitting (#204)
rozyczko Jul 11, 2022
4aa7cdf
Fix/modify the polarized sample project. It is now fitted for scale and
rozyczko Jul 11, 2022
7ca0821
update toml dependency
rozyczko Jul 12, 2022
64a9eb4
Fix for experiment-less case and switching spin case charts
rozyczko Jul 12, 2022
d097712
Updated the TOF example.
rozyczko Jul 13, 2022
5020a07
Fix switching interfaces issue
rozyczko Jul 13, 2022
a5cc1f3
Capitalised app name and fixed ubuntu tutorials (#205)
AndrewSazonov Jul 14, 2022
06d2beb
Reset the calculator on state reset
rozyczko Jul 14, 2022
6e177ad
Merge branch 'release-0.8.4' of https://github.com/easyScience/easyDi…
rozyczko Jul 14, 2022
04ed4d3
Modify the spacegroup setting value for the default phase, so profiles
rozyczko Jul 14, 2022
a37e4d3
Update polarized example Ho2Ti2O7
Jul 14, 2022
3ae884e
Normalise background for polarised experiment
Jul 14, 2022
f301a5e
Fix state of the last group on experiment tab
Jul 14, 2022
36637dd
Read magnetic field from CIF
Jul 14, 2022
d3134d5
Fixed generation of difference chart on spin case change.
rozyczko Jul 15, 2022
556aa5f
Minor cleanup
rozyczko Jul 15, 2022
e4e8df4
Project load needs to update the calculator combobox.
rozyczko Jul 18, 2022
46ef2aa
Update all examples
Jul 20, 2022
0cf4835
Modify default phase and experimental parameters
Jul 20, 2022
5bc97f5
Some more fixes of examples
Jul 20, 2022
3db5fc0
Set setting for default phase
Jul 20, 2022
9540417
Update user tutorial 2
Jul 20, 2022
7084d14
Updated accessing polarized pattern params.
rozyczko Jul 20, 2022
0867419
Merge branch 'release-0.8.4' of https://github.com/easyScience/easyDi…
rozyczko Jul 20, 2022
ef3f474
Set default value for magnetic field
Jul 20, 2022
40e55e7
Merge remote-tracking branch 'origin/release-0.8.4' into release-0.8.4
Jul 20, 2022
7bd5ae3
Get rid of some qml warnings
Jul 20, 2022
5bb1d1c
Fix radiation parameter display
rozyczko Jul 21, 2022
3dd79f5
Merge branch 'release-0.8.4' of https://github.com/easyScience/easyDi…
rozyczko Jul 21, 2022
8928de9
Update background query
rozyczko Jul 21, 2022
af3e451
Enable refinement options
rozyczko Jul 21, 2022
489116f
Clumsily adjusted calculated profile.
rozyczko Jul 21, 2022
cfa30e3
Activate the save button only if the project has already been created
Jul 21, 2022
5a9ab0b
Move refinement components group to analysis tab
Jul 21, 2022
b586471
Aded read_only flag for projects. This helps keeping example projects
rozyczko Jul 21, 2022
89572b2
Merge branch 'release-0.8.4' of https://github.com/easyScience/easyDi…
rozyczko Jul 21, 2022
4ec0865
hacky fix for background display when doing diff fitting first then s…
rozyczko Jul 21, 2022
57080c5
Fixed fitting so pattern/instr parameters are actually fittable
rozyczko Jul 22, 2022
af66c37
Update version to 0.8.4-beta
rozyczko Jul 25, 2022
323f985
Update EDL reference
rozyczko Jul 26, 2022
61a3275
Updated release information
rozyczko Jul 27, 2022
05d5b75
Standardize background treatment. Now, the default is the single
rozyczko Jul 27, 2022
3cadf5c
More updates to the release info
rozyczko Jul 27, 2022
5cae6e4
Update Fe3O4 example
Jul 27, 2022
11ff056
Merge remote-tracking branch 'origin/release-0.8.4' into release-0.8.4
Jul 27, 2022
567b407
Update Ho2Ti2O7 example
Jul 27, 2022
e687f41
Make non-built-in example projects writable
Jul 27, 2022
6be6f66
Update release information
Jul 27, 2022
7b0d684
Assure the background is correctly set when loading polarized exp
rozyczko Jul 27, 2022
b351419
Improve project reset for case where
rozyczko Jul 27, 2022
b064698
Renamed installer names to show they are all 64 bit.
rozyczko Jul 28, 2022
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
34 changes: 23 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
sudo apt-get -o Acquire::Retries=3 update
sudo apt-get -o Acquire::Retries=3 install libxcb-xinerama0
sudo apt-get -o Acquire::Retries=3 install libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0
sudo apt-get -o Acquire::Retries=3 install libxcb-shape0
sudo apt-get -o Acquire::Retries=3 install libpulse-mainloop-glib0
# sudo apt-get install libgfortran4
# echo "QT_DEBUG_PLUGINS=1" >> $GITHUB_ENV
Expand Down Expand Up @@ -89,11 +90,7 @@ jobs:
run: poetry run python ${{ env.SCRIPTS_PATH }}/FreezeApp.py

- name: Create offline and online app installers from freezed app bundle
run: poetry run python ${{ env.SCRIPTS_PATH }}/MakeInstaller.py ${{ secrets.BINARY_SIGN_WIN }} ${{ secrets.CERT_ZIP_PASS }}

- name: Sign the installer
if: False # temporarily disabled until EC signing is automated
run: poetry run python ${{ env.SCRIPTS_PATH }}/Signatures.py ${{ secrets.BINARY_SIGN_WIN }} ${{ secrets.CERT_ZIP_PASS }}
run: poetry run python ${{ env.SCRIPTS_PATH }}/MakeInstaller.py

- name: Set up screen recording dependencies (macOS)
if: runner.os == 'macOS'
Expand Down Expand Up @@ -125,10 +122,22 @@ jobs:
run: poetry run python ${{ env.SCRIPTS_PATH }}/RunApp.py --testmode

- name: Rename test videos
run: poetry run python ${{ env.SCRIPTS_PATH }}/CreateTestVideos.py ${{ env.BRANCH_NAME }}
run: >
poetry run python ${{ env.SCRIPTS_PATH }}/RenameTestVideos.py
${{ env.BRANCH_NAME }}

- name: Sign app installer
if: github.event_name == 'push' && env.BRANCH_NAME == 'master'
run: >
poetry run python ${{ env.SCRIPTS_PATH }}/SignAppInstaller.py
${{ env.BRANCH_NAME }}
${{ secrets.MACOS_CERTIFICATE_ENCODED }} ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
${{ secrets.APPSTORE_NOTARIZATION_USERNAME }} ${{ secrets.APPSTORE_NOTARIZATION_PASSWORD }}

- name: Create zip archive of offline app installer
run: poetry run python ${{ env.SCRIPTS_PATH }}/ZipArtifacts.py ${{ env.BRANCH_NAME }}
- name: Create zip archive of offline app installer for distribution
run: >
poetry run python ${{ env.SCRIPTS_PATH }}/ZipAppInstaller.py
${{ env.BRANCH_NAME }}

- name: Upload zipped offline app installer to GitHub releases (non-master branch)
if: github.event_name == 'push' && env.BRANCH_NAME != 'master'
Expand All @@ -139,7 +148,7 @@ jobs:
allowUpdates: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "${{ env.DISTRIBUTION_PATH }}/${{ env.APP_NAME }}_*.zip,${{ env.DISTRIBUTION_PATH }}/tutorial_*.mp4"
artifacts: "${{ env.DISTRIBUTION_PATH }}/*.zip,${{ env.DISTRIBUTION_PATH }}/*.mp4"
tag: ${{ env.BRANCH_NAME }}
name: ${{ env.BRANCH_NAME }}
bodyFile: "RELEASE.md"
Expand All @@ -153,11 +162,14 @@ jobs:
allowUpdates: true
replacesArtifacts: true
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "${{ env.DISTRIBUTION_PATH }}/${{ env.APP_NAME }}_*.zip"
artifacts: "${{ env.DISTRIBUTION_PATH }}/*.zip"
tag: ${{ env.RELEASE_TAG }}
name: ${{ env.RELEASE_TITLE }}
bodyFile: "RELEASE.md"

- name: Upload online app installer to repository via FTP
if: github.event_name == 'push'
run: poetry run python ${{ env.SCRIPTS_PATH }}/UploadToFtp.py ${{ env.BRANCH_NAME }} ${{ secrets.APP_REPO_FTP_PASSWORD }}
run: >
poetry run python ${{ env.SCRIPTS_PATH }}/UploadToFtp.py
${{ env.BRANCH_NAME }}
${{ secrets.APP_REPO_FTP_PASSWORD }}
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
# Version 0.8.4-beta (28 Jul 2022)

### New Features

- Simulating and fitting polarised data using the [CrysPy](https://github.com/ikibalin/cryspy) calculation engine.
- Reading CIF files with experimental data and instrumental parameters.

### Changes

- Default example with experimental phase has been modified.
- Added example projects with polarised data.
- Windows installer is now 64-bit.

### Bug Fixes

- CrysFML simulation now shows Bragg peaks.
- Inclusion of the space group setting in calculations.
- The `Project save` button is now disabled for read-only example projects.
- The `Reset state` functionality now resets calculator choice.
- Overall performance has been improved.

# Version 0.8.3-beta (27 Jan 2022)

### Features
Expand Down
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@

<img height="80"><img src="./resources/images/ed_logo.svg" height="65">

**easyDiffraction** is a scientific software for modelling and analysis of diffraction data. Currently, **easyDiffraction** covers classical 1D unpolarized neutron powder diffraction data collected using constant wavelength (CW) or time-of-flight (TOF) diffractometers.
**EasyDiffraction** is a scientific software for modelling and analysis of diffraction data. Currently, **EasyDiffraction** covers classical 1D unpolarized neutron powder diffraction data collected using constant wavelength (CW) or time-of-flight (TOF) diffractometers.

![easyDiffraction Screenshot](./resources/images/ed_analysis_dark.png)

## What is easydiffraction for?
## What is EasyDiffraction for?

**easyDiffraction** allows simulation of diffraction patterns based on a structural model and refinement of its parameters. For refinement, the program uses a number of fitting engines (minimizers) such as [lmfit](https://lmfit.github.io/lmfit-py), [bumps](https://github.com/bumps/bumps) and [DFO-LS](https://github.com/numericalalgorithmsgroup/dfols).
**EasyDiffraction** allows simulation of diffraction patterns based on a structural model and refinement of its parameters. For refinement, the program uses a number of fitting engines (minimizers) such as [lmfit](https://lmfit.github.io/lmfit-py), [bumps](https://github.com/bumps/bumps) and [DFO-LS](https://github.com/numericalalgorithmsgroup/dfols).

**easyDiffraction** is similar to crystallographic programs like FullProf, Jana, GSAS, ShelX, etc. Unlike these programs **easyDiffraction** is based on _external_ crystallographic libraries (calculation engines) such as [CrysPy](https://github.com/ikibalin/cryspy), [CrysFML](https://code.ill.fr/scientific-software/crysfml) and [GSAS-II](https://subversion.xray.aps.anl.gov/trac/pyGSAS). This allows **easyDiffraction** to cover different functionality aspects within a single, intuitive and user-friendly graphical interface. These libraries are included with the installation so there is no need to compile/install them separately.
**EasyDiffraction** is similar to crystallographic programs like FullProf, Jana, GSAS, ShelX, etc. Unlike these programs **EasyDiffraction** is based on _external_ crystallographic libraries (calculation engines) such as [CrysPy](https://github.com/ikibalin/cryspy), [CrysFML](https://code.ill.fr/scientific-software/crysfml) and [GSAS-II](https://subversion.xray.aps.anl.gov/trac/pyGSAS) (experimental). This allows **EasyDiffraction** to cover different functionality aspects within a single, intuitive and user-friendly graphical interface. These libraries are included with the installation so there is no need to compile/install them separately.

## Main features

**easyDiffraction** is an open source project under the [BSD-3-Clause License](LICENSE.md).
**EasyDiffraction** is an open source project under the [BSD-3-Clause License](LICENSE.md).

**easyDiffraction** application is cross-platform, with support for Windows, macOS and Linux (Ubuntu). Its intuitive tabbed interface allows for a clear and defined data modelling and analysis workflow. There are also built-in step-by-step user guides and tutorials for new users.
**EasyDiffraction** application is cross-platform, with support for Windows, macOS and Linux (Ubuntu). Its intuitive tabbed interface allows for a clear and defined data modelling and analysis workflow. There are also built-in step-by-step user guides and tutorials for new users.

Current main features of **easydiffraction**:
Current main features of **Easydiffraction**:

- Support for both constant-wavelength and time-of-flight 1D unpolarized neutron powder diffraction data.
- Simulations of diffraction pattern using [CrysPy](https://github.com/ikibalin/cryspy), [CrysFML](https://code.ill.fr/scientific-software/crysfml) and [GSAS-II](https://subversion.xray.aps.anl.gov/trac/pyGSAS) calculation engines.
- Simulations of diffraction pattern using [CrysPy](https://github.com/ikibalin/cryspy), [CrysFML](https://code.ill.fr/scientific-software/crysfml) and [GSAS-II](https://subversion.xray.aps.anl.gov/trac/pyGSAS) (experimental) calculation engines.
- Structure refinement (yet unstable) using aforementioned engines.
- Multiple minimization engines: [lmfit](https://lmfit.github.io/lmfit-py), [bumps](https://github.com/bumps/bumps) and [DFO-LS](https://github.com/numericalalgorithmsgroup/dfols).
- Parameter constraints during refinement.
Expand All @@ -32,7 +32,7 @@ Current main features of **easydiffraction**:
- Interactive HTML and standard PDF report generation.
- Undo/redo for both parameter changes and fitting.

Planned improvements / new functionality for **easydiffraction**:
Planned improvements / new functionality for **EasyDiffraction**:

- Improved refinement.
- Time-of-flight support using [CrysFML](https://code.ill.fr/scientific-software/crysfml) and [GSAS-II](https://subversion.xray.aps.anl.gov/trac/pyGSAS).
Expand All @@ -49,25 +49,25 @@ Planned improvements / new functionality for **easydiffraction**:

### Downloading

The official **easyDiffraction** installer for Windows, macOS and Linux (Ubuntu) can be found [here](https://github.com/easyScience/easyDiffractionApp/releases):
The official **EasyDiffraction** installer for Windows, macOS and Linux (Ubuntu) can be found [here](https://github.com/easyScience/easyDiffractionApp/releases):

### Installing

Run **easyDiffraction** installer and follow the instructions.
Run **EasyDiffraction** installer and follow the instructions.

### Uninstalling

Run **MaintenanceTool** from the **easydiffraction** installation directory, select _Remove all components_ and follow the instructions.
Run **MaintenanceTool** from the **EasyDiffraction** installation directory, select _Remove all components_ and follow the instructions.

## Common Issues

- On `macOS`, if you see the message _easyDiffractionSetup.app can't be opened because it is from an unidentified developer_, do the following:
In the **Finder**, locate the **easydiffraction** installer application, then _control-click_ the installer icon, then choose _Open_ from the shortcut menu and finally click _Open_.
- On `macOS`, if you see the message _EasyDiffractionSetup.app can't be opened because it is from an unidentified developer_, do the following:
In the **Finder**, locate the **EasyDiffraction** installer application, then _control-click_ the installer icon, then choose _Open_ from the shortcut menu and finally click _Open_.
- On `Linux` based system there can be the following error on startup: _Failed to create OpenGL context for format QSurfaceFormat_. This is due to a system OpenGL driver problem. Please re-install your graphics card drivers.

## Contributing

We absolutely welcome contributions. **easyDiffraction** is maintained by the [European Spallation Source ERIC (ESS)](https://europeanspallationsource.se/) and on a volunteer basis and thus we need to foster a community that can support user questions and develop new features to make this software a useful tool for all users while encouraging every member of the community to share their ideas.
We absolutely welcome contributions. **EasyDiffraction** is maintained by the [European Spallation Source ERIC (ESS)](https://europeanspallationsource.se/) and on a volunteer basis and thus we need to foster a community that can support user questions and develop new features to make this software a useful tool for all users while encouraging every member of the community to share their ideas.

## Get in touch

Expand Down
17 changes: 16 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
### New Features

- Simulating and fitting polarised data using the [CrysPy](https://github.com/ikibalin/cryspy) calculation engine.
- Reading CIF files with experimental data and instrumental parameters.

### Changes

- The Python-based backend framework has been updated from version 3.7 to 3.8.
- Default example with experimental phase has been modified.
- Added example projects with polarised data.
- Windows installer is now 64-bit.

### Bug Fixes

- CrysFML simulation now shows Bragg peaks.
- Inclusion of the space group setting in calculations.
- The `Project save` button is now disabled for read-only example projects.
- The `Reset state` functionality now resets calculator choice.
- Overall performance has been improved.
5 changes: 4 additions & 1 deletion easyDiffractionApp/Gui/Components/AnalysisDataChartBokeh.qml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@ EaCharts.BaseBokeh {
phaseData: ExGlobals.Constants.proxy.plotting1d.bokehPhasesDataObj

plotRanges: ExGlobals.Constants.proxy.plotting1d.analysisPlotRangesObj
isSpinPolarized: ExGlobals.Constants.proxy.experiment.isSpinPolarized
setSpinComponent: ExGlobals.Constants.proxy.experiment.setSpinComponent
spinComponent: ExGlobals.Constants.proxy.experiment.spinComponent

xAxisTitle: {
if (ExGlobals.Constants.proxy.sample.experimentType === 'powder1DCW') {
if ((ExGlobals.Constants.proxy.sample.experimentType === 'powder1DCW') || (ExGlobals.Constants.proxy.sample.experimentType === 'powder1DCWpol')) {
return "2θ (deg)"
} else if (ExGlobals.Constants.proxy.sample.experimentType === 'powder1DTOF') {
return "TOF (μs)"
Expand Down
3 changes: 2 additions & 1 deletion easyDiffractionApp/Gui/Components/ApplicationWindow.qml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ EaComponents.ApplicationWindow {

EaElements.ToolButton {
enabled: ExGlobals.Constants.proxy.project.stateHasChanged &&
ExGlobals.Constants.proxy.project.currentProjectPath !== '--- EXAMPLE ---'
ExGlobals.Constants.proxy.project.projectCreated &&
!ExGlobals.Constants.proxy.project.readOnly
highlighted: true
fontIcon: "save"
ToolTip.text: qsTr("Save current state of the project")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@ EaCharts.BaseBokeh {

plotRanges: ExGlobals.Constants.proxy.plotting1d.experimentPlotRangesObj

isSpinPolarized: ExGlobals.Constants.proxy.experiment.isSpinPolarized
setSpinComponent: ExGlobals.Constants.proxy.experiment.setSpinComponent
spinComponent: ExGlobals.Constants.proxy.experiment.spinComponent

xAxisTitle: {
if (ExGlobals.Constants.proxy.sample.experimentType === 'powder1DCW') {
if ((ExGlobals.Constants.proxy.sample.experimentType === 'powder1DCW') || (ExGlobals.Constants.proxy.sample.experimentType === 'powder1DCWpol')) {
return "2θ (deg)"
} else if (ExGlobals.Constants.proxy.sample.experimentType === 'powder1DTOF') {
return "TOF (μs)"
Expand Down
4 changes: 3 additions & 1 deletion easyDiffractionApp/Gui/Components/ProjectExamples.qml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import Gui.Globals 1.0 as ExGlobals
EaComponents.TableView {
id: tableView

maxRowCountShow: 9
defaultInfoText: qsTr("No Examples Available")

// Table model
Expand Down Expand Up @@ -57,7 +58,7 @@ EaComponents.TableView {
text: model.name
}

EaComponents.TableViewLabel {
EaComponents.TableViewLabelControl {
id: descriptionColumn

width: EaStyle.Sizes.fontPixelSize * 24
Expand All @@ -66,6 +67,7 @@ EaComponents.TableView {

headerText: "Description"
text: model.description
ToolTip.text: model.description
}

EaComponents.TableViewButton {
Expand Down
32 changes: 21 additions & 11 deletions easyDiffractionApp/Gui/Components/SampleAdps.qml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@ import easyApp.Gui.Logic 1.0 as EaLogic
import Gui.Globals 1.0 as ExGlobals

EaComponents.TableView {
property int numColumnWidth: EaStyle.Sizes.fontPixelSize * 2.5
property int labelColumnWidth: EaStyle.Sizes.fontPixelSize * 2.5
property int typeColumnWidth: EaStyle.Sizes.fontPixelSize * 4.0
property int numFixedColumn: 3
property int numFlexColumn: 7
property int flexColumnWidth: (width -
numColumnWidth -
labelColumnWidth -
typeColumnWidth -
EaStyle.Sizes.tableColumnSpacing * (numFixedColumn + numFlexColumn - 1)) /
numFlexColumn

// Table model

Expand Down Expand Up @@ -49,72 +60,71 @@ EaComponents.TableView {
property string modelAdpType: model.adpType

EaComponents.TableViewLabel {
width: EaStyle.Sizes.fontPixelSize * 2.5
width: numColumnWidth
headerText: "No."
text: model.index + 1
}

EaComponents.TableViewLabel {
id: adpAtomLabel
horizontalAlignment: Text.AlignLeft
width: EaStyle.Sizes.fontPixelSize * 3.8
width: labelColumnWidth
headerText: "Label"
text: model.label
}

EaComponents.TableViewComboBox {
enabled: false
width: adpAtomLabel.width * 1.2
width: typeColumnWidth
headerText: "Type"
model: ["Uiso", "Uani", "Biso", "Bani"]
//currentIndex: model.indexOf(modelAdpType)
Component.onCompleted: currentIndex = model.indexOf(modelAdpType)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Iso"
text: EaLogic.Utils.toFixed(model.adpIso)
onEditingFinished: editParameterValue(model.adpIsoId, text)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Ani11"
text: EaLogic.Utils.toFixed(model.adpAni11)
onEditingFinished: editParameterValue(model.adpAniId11, text)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Ani22"
text: EaLogic.Utils.toFixed(model.adpAni22)
onEditingFinished: editParameterValue(model.adpAniId22, text)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Ani33"
text: EaLogic.Utils.toFixed(model.adpAni33)
onEditingFinished: editParameterValue(model.adpAniId33, text)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Ani12"
text: EaLogic.Utils.toFixed(model.adpAni12)
onEditingFinished: editParameterValue(model.adpAniId12, text)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Ani13"
text: EaLogic.Utils.toFixed(model.adpAni13)
onEditingFinished: editParameterValue(model.adpAniId13, text)
}

EaComponents.TableViewTextInput {
width: adpAtomLabel.width
width: flexColumnWidth
headerText: "Ani23"
text: EaLogic.Utils.toFixed(model.adpAni23)
onEditingFinished: editParameterValue(model.adpAniId23, text)
Expand Down
Loading