Skip to content

About

Materials sample records, XRD processing, and thermal-conductivity plots.

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

ExMaterial

ExMaterial logo

A desktop workspace for materials-sample records, XRD processing, and thermal-conductivity plots.

简体中文 · GPL-3.0-only · Changelog

What it does

Version 1.1.0 adds one sample comparison entry point for XRD, XPS and thermal conductivity, saved-data overlays and exports, legacy data-directory discovery and selection, and backups before updating existing sample indexes. CPU/GPU preview selection is persisted. Optional NVIDIA CUDA/CuPy acceleration applies to large-curve extrema reduction; Tk rendering and scientific processing remain on CPU, with explicit fallback on GPU errors. The standard Windows download does not bundle CuPy. Install .[gpu] for source use or run exmaterial/build_gpu_windows.bat for an optional GPU build. Real CUDA hardware execution has not been validated. Follow CuPy's driver/runtime requirements.

  • Creates material families and numbered samples, each with acquisition conditions and notes.
  • Stores multi-temperature thermal measurements and calculates thermal conductivity from density, heat capacity, and diffusivity.
  • Imports, converts, processes, plots, and compares XRD data in 2θ and d coordinates.
  • Drop exported XRD text files onto the main window to create one sample per file in the selected material; original filenames are recorded in sample notes. Drop onto the raw d input to import d coordinates.
  • Supports processed-XRD normalization, smoothing, manual peak capture, local Gaussian adjustments, and independent plot viewing.
  • Writes every sample's data and generated figures to a local information/ directory.
  • Checks stable GitHub releases in the background and supports verified in-app updates for the Windows executable.

Install and run

For a ready-to-run Windows x64 executable, download ExMaterial 1.1.0. See the release notes for all changes. Versions 1.0.2 and later support in-app upgrading; versions 1.0.1 and earlier need one manual upgrade to gain in-app updating. Replace the EXE in your existing application folder and keep the sibling information data directory.

Source users receive manual update instructions instead of an inactive installer button: update a Git checkout with git pull, or download the new source archive if the app was installed from an archive. Background checks report manual updates in the status bar; Help → Check for updates opens the full release notes.

ExMaterial supports Python 3.10 or later on Windows. Create an environment, install the dependency, then start the desktop app:

py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python .\exmaterial\exmaterial_app.py

The first run creates information/ beside the source folder. This directory holds your experimental records and is intentionally ignored by Git, so it cannot accidentally be published with the open-source code.

Build a Windows executable

python -m pip install ".[build]"
.\exmaterial\build_windows.bat

The executable is written to exmaterial\ExMaterial.exe. Keep the information/ directory beside the exmaterial/ directory when moving an existing workspace.

Data model

information/
└── <material name>/
    ├── samples.json
    └── #<sample number>/
        ├── xrd_data.csv
        ├── xrd_2theta.jpg
        ├── xrd_d.jpg
        ├── processed_xrd_*.csv / *.jpg
        ├── manual_xrd_peaks.json
        └── thermal_conductivity_temperature.jpg

See the Chinese user manual for detailed workflow instructions and units.

License

ExMaterial is released under the GNU General Public License v3.0 only (GPL-3.0-only). You may use and modify it; redistributed modified versions must remain GPLv3 and provide their corresponding source code. See LICENSE.

Contributing

Bug reports, documentation improvements, and focused pull requests are welcome. Please read CONTRIBUTING.md first.

1.1.0: XPS and shared rendering

The current release is 1.1.0, including the following features.

XRD, XPS, and thermal transport are peer tabs with shared material/sample context. XPS supports exported text spectra, energy shifts, range selection, linear background subtraction, moving-average smoothing, normalization, signed area integration, and CSV/JPG export. Raw input and processed results are stored together in an atomic, sample-local xps_workspace.json (one scan per sample). Peak fitting, Shirley backgrounds, and RSF quantification are not implemented. See the Chinese README for detailed semantics.

The CPU preview quality setting is persisted in information/app_settings.json. Shared rendering coalesces resize events and caches peak-preserving previews without reducing exported data. See docs/architecture.md for integrating future modules.

About

Materials sample records, XRD processing, and thermal-conductivity plots.

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages