Repository navigation
Releases: Yazhuo-Liu/DichromaticMap
Release list
DichromaticMap v0.2.2
DichromaticMap v0.2.2
DichromaticMap 0.2.2 adds symmetry-assisted common-cell selection and portable
desktop applications that include Python and the viewer's dependencies.
Common-cell selection
- After picking the first edge, use Complete by symmetry… to preview
compatible completions. Symmetries are checked against both grain lattices;
operations that exchange G1 and G2 are supported. - After three perimeter vertices, use Complete parallelogram… to obtain
the fourth vertex. Both features work with exact CSL and local near pairs;
exact CSL completion does not require enabling Near-CSL. - Inspect the original atom vertices, per-grain atom counts and areas, pair
separations, principal strain and polar rotations before accepting a candidate.
Preview axes use equal scales. All vertices use circles;(auto)labels
identify the generated vertices. - Generated vertices are not limited by the local pair-distance cutoff. They
must form valid lattice cells and pass the selected strain and rotation limits.
Completion preserves the original coordinates; apply strain separately when
needed. Exact CSL cells require no strain. - Adjust Local pair distance while picking vertices without losing the
existing selection or leaving picking mode.
Symmetry completion is available before bulk strain is applied. It does not
guarantee a primitive cell or enumerate all possible second edges. If the chosen
edge has no independent symmetry-related edge, pick a third vertex and use
parallelogram completion.
Compatibility
- The Python package continues to support Python 3.10 and later.
- New
.dmapsessions use schema 4 to retain generated-vertex provenance.
Schemas 1, 2 and 3 remain readable. Open schema-4 sessions with v0.2.2 or later. - Existing distance-based local matching and scientific defaults are unchanged.
Install or upgrade
python -m pip install --upgrade "dichromatic-map[gui]==0.2.2"
python -m dichromatic_mapFor numerical calculations without the viewer:
python -m pip install --upgrade "dichromatic-map==0.2.2"Downloads
| Asset | Contents |
|---|---|
dichromatic_map-0.2.2-py3-none-any.whl |
Python wheel for pip |
dichromatic_map-0.2.2.tar.gz |
Source, documentation, tests and executable build scripts |
DichromaticMap-0.2.2-windows-x86_64.zip |
Windows x64 application; extract and run DichromaticMap.exe |
DichromaticMap-0.2.2-macos-arm64.zip |
Apple Silicon application; extract and open DichromaticMap.app |
DichromaticMap-0.2.2-macos-x86_64.zip |
Intel Mac application; extract and open DichromaticMap.app |
DichromaticMap-0.2.2-linux-x86_64.tar.gz |
Linux x64 application; extract and run ./DichromaticMap |
SHA256SUMS.txt |
SHA-256 hashes of the six downloadable packages |
Portable archives include Python, NumPy, PySide6 and PyQtGraph. Keep the entire
extracted directory together. They are built and smoke-tested on Ubuntu 22.04,
Windows 2022 and macOS 15; older operating systems are not validated. Linux still
requires system graphics libraries. Windows/macOS downloads have no publisher
certificate, and macOS apps are not notarized. If OS policy blocks them, use the
Python package or build from source. See the included README.txt for details.
中文更新摘要
- 选完第一条边后可按对称性预览、补全共同胞;选完三个顶点后可补全平行四边形。
精确 CSL 和 near-CSL 均可使用,精确 CSL 不需要启用 Near-CSL。 - 自动生成的点不受局部距离阈值限制,但仍需满足晶格、应变和转动约束。
预览统一使用圆形标记,以(auto)标注自动补全点,坐标轴保持等比例。 - 选点过程中修改局部配对阈值会保留已选顶点。
- 会话格式升级为 schema 4,保留自动补全来源,并继续读取 schema 1–3。
- 增加 Windows、macOS(Apple Silicon / Intel)和 Linux 解压即用版本,无需另装 Python。
Full Changelog: v0.2.1...v0.2.2
DichromaticMap v0.2.1
DichromaticMap 0.2.1 adds a citation reminder to the interactive viewer and places the recommended citation near the top of the project documentation.
Improvements
- Closing an interactive GUI window now displays a one-time thank-you message with the recommended citation and a clickable DOI link.
- The citation is shown before the viewer finishes closing.
- The recommended citation is now displayed near the top of the project README and the English and Chinese user guides.
- Command-line
--saveexport remains unattended and exits without opening the citation dialog. - Terminal signal handling, including
Ctrl+C, is unchanged.
Recommended citation
K.Q. Ding, Y.Z. Liu, Y. Zhang, L.H. Wang, X.D. Han, T. Zhu, “Misfit-dislocation hierarchy governs sliding of asymmetric non-CSL grain boundaries,” arXiv preprint arXiv:2609.14673 (2026).
https://doi.org/10.48550/arXiv.2609.14673
Compatibility
- Python 3.10 or later is required.
- There are no changes to numerical algorithms, scientific defaults, command-line options, session files or exported numerical tables.
- Existing v0.2.0 sessions remain fully compatible.
Install or upgrade
python -m pip install --upgrade "dichromatic-map[gui]==0.2.1"
python -m dichromatic_map --workers 4
## For numerical use without the viewer:
python -m pip install --upgrade "dichromatic-map==0.2.1"Full Changelog: v0.2.0...v0.2.1
DichromaticMap v0.2.0
DichromaticMap 0.2.0 adds per-layer marker sizes, clean PNG export, and an updated default local near-CSL matching distance.
New features
- Per-layer marker sizes: adjust each layer's Size from 25% to 400% in
VIEW / PERFORMANCE → APPEARANCE. The default 100% preserves the existing appearance. Both grains share each layer's size setting. - Persistent appearance settings: marker sizes are saved in sessions and applied to PNG exports.
Reset appearancerestores the original colors, symbols and sizes. - Clean PNG export: enable
Clean PNG (atoms only)aboveExport PNG…to export only the visible atom symbols. Colors, symbols, sizes, rotation, filtering and the current view are preserved. Legends, reference axes, readouts, coordinate axes, grids and analysis overlays are omitted.
Improvements
- Increased the default local matching distance from 0.05 to 0.1 a₀ in both the viewer and
local_near_pairs(). - Kept large legend symbols within their sample areas.
- Improved size-control layouts for narrow panels and many-layer geometries.
- Added PNG export error reporting and isolated clean rendering that leaves the live plot unchanged.
- Updated English and Chinese documentation and expanded regression coverage.
Compatibility
- Requires Python 3.10 or later.
- Existing sessions retain their saved matching thresholds. Set
Local pair distanceor passdistance=0.05to retain the previous cutoff. - New sessions use schema 3 to store marker sizes. Schema-1 and schema-2 sessions remain readable with default sizes. New schema-3 sessions require a compatible reader, such as v0.2.0.
- Clean export is disabled by default; ordinary annotated PNG export remains available.
Install or upgrade
python -m pip install --upgrade "dichromatic-map[gui]==0.2.0"
python -m dichromatic_map --workers 4For numerical use without the viewer:
python -m pip install --upgrade "dichromatic-map==0.2.0"DichromaticMap v0.1.3
DichromaticMap 0.1.3 adds simple-cubic support, restorable sessions with numerical exports, and customizable plot appearance.
New features
- Simple cubic (SC) support alongside FCC and BCC in the numerical library and viewer, including custom integer viewing axes.
- Grain reference axes: four crystallographic direction arrows sharing a stable origin and using the two grain colors. Enabled by default and toggleable in VIEW.
- Axis-dependent misorientation ranges: 0–45° for ⟨100⟩, 0–90° for ⟨110⟩, 0–60° for ⟨111⟩, and 0–180° for other cubic axes. Custom integer axes use the same cubic-symmetry calculation.
- Session saving and restoration: save crystal settings, selected points, applied strain and translations, visibility, appearance and view settings in a
.dmapfile. - Numerical exports: each
.dmaparchive includescounts.csv,vectors.csvandstrain.csv. Counts describe the selected-layer manual cell; available rows depend on the current selections and applied results. - Appearance controls: choose G1/G2 colors and unique layer symbols in VIEW / PERFORMANCE → APPEARANCE. Additional layers use numbered circles. Appearance settings are retained in sessions and PNG exports.
Improvements and fixes
- Numbered markers remain distinct in Windows and headless Qt environments without relying on system fonts.
- Improved control layouts for small windows and different font metrics.
- Added space between the controls and plot, and fixed plot-border clipping during window resizing.
- Renamed the orientation label to View axis.
- Updated English and Chinese documentation and expanded regression coverage.
Compatibility notes
- Python 3.10 or later is required. The viewer uses PySide6 and PyQtGraph.
- GUI and command-line angle inputs now follow the axis-dependent ranges. Out-of-range
--anglevalues are rejected rather than automatically converted. - New sessions use schema version 2. Earlier schema-1 files remain readable and use default appearance settings.
- Sessions retain applied strain results; CPU worker settings and the complete previous strain-search candidate list are not stored. PNG export remains separate.
Install or upgrade
With the graphical viewer:
python -m pip install --upgrade "dichromatic-map[gui]==0.1.3"
python -m dichromatic_map --workers 4For numerical calculations only:
python -m pip install --upgrade "dichromatic-map==0.1.3"Downloads
dichromatic_map-0.1.3-py3-none-any.whl: Python wheel for installation with pip.dichromatic_map-0.1.3.tar.gz: source distribution with documentation and tests.
Install the downloaded wheel with GUI dependencies:
python -m pip install --upgrade "./dichromatic_map-0.1.3-py3-none-any.whl[gui]"Full Changelog: v0.1.2...v0.1.3
DichromaticMap v0.1.2
This patch release fixes viewer startup in environments with multiple Qt
Python bindings installed, including Anaconda environments on Windows.
Fixes
- The viewer and PyQtGraph now consistently use PySide6. This prevents the
QMainWindow.setCentralWidget(PlotWidget)type error caused by mixing Qt
bindings and removes the need to setPYQTGRAPH_QT_LIBmanually for normal
command-line launches. - If an existing Python session has already loaded PyQtGraph with an
incompatible binding, the viewer reports how to restart it in a fresh
process.
Upgrade
Install or upgrade the library with its viewer:
python -m pip install --upgrade "dichromatic-map[gui]"
python -m dichromatic_map --workers 4For numerical calculations only:
python -m pip install --upgrade dichromatic-mapPython 3.10 or later is required. The viewer uses PySide6 and PyQtGraph.
Downloads
dichromatic_map-0.1.2-py3-none-any.whl: Python wheel for installation with pip.dichromatic_map-0.1.2.tar.gz: source distribution, including documentation
and tests.
To install the downloaded wheel with GUI dependencies, run this command from
its download directory:
python -m pip install --upgrade "./dichromatic_map-0.1.2-py3-none-any.whl[gui]"DichromaticMap v0.1.0
Initial public release of DichromaticMap, a Python library and interactive GUI for exploring layer-resolved dichromatic patterns of cubic tilt grain boundaries.
Features:
- FCC and BCC lattices with integer tilt axes.
- Exact CSL analysis and local near-CSL matching.
- Manual cell selection and atom counting by grain and layer.
- Crystal-vector measurements, grain-boundary selection, and homogeneous strain fitting.
- Independent layer controls, display rotation, and PNG export.
Installation:
Download the wheel from this release, then run:
python -m pip install "./dichromatic_map-0.1.0-py3-none-any.whl[gui]"
dichromatic-mapOr download using pip
python -m pip install "dichromatic-map[gui]"
python -m dichromatic_mapRequires Python 3.10 or later. GUI dependencies are installed automatically with the [gui] extra.
For numerical calculations only, install with python -m pip install dichromatic-map, the numerical library requires only NumPy.
Released under the MIT License.
Bug reports and contributions are welcome through Issues, pull requests, or email at yliu3500@gatech.edu.