Issue37#39
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the figure-generation/visualization assets used for manuscript Fig. 4 by aligning structure inputs with the new data/overview/PPAFM layout and improving visual alignment between atomic views and AFM image orientations.
Changes:
- Point
visualiseTrainingData.pyatdata/overview/PPAFM, add XY/AFM rotation controls, and add a top-water overlay (atoms + O–H bonds) on selected AFM panels. - Extend
draw_3d_axis_indicatorto support in-plane 90° rotation steps via a newrotate_kparameter. - Add supplemental PDF output and a standalone overlay script under
data/overview/PPAFM.
Reviewed changes
Copilot reviewed 3 out of 19 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
src/performanceEvaluation/visualiseTrainingData.py |
Adds rotation utilities and a molecule-aware overlay of top-layer water atoms onto AFM slices; updates data paths for the revised overview dataset. |
src/performanceEvaluation/utils.py |
Adds rotate_k support to the axis-indicator helper for consistent orientation with rotated plots. |
manuscript/issues/issue35/SI_evaluation_on_proxy.pdf |
Adds/updates a generated supplemental PDF artifact. |
data/overview/PPAFM/overlay_atoms.py |
Adds a standalone script to overlay top-layer atoms on AFM slices for slice/config correspondence checks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+301
to
+306
| d_oh = np.linalg.norm(positions[h_indices] - positions[oi], axis=1) | ||
| near = np.where(d_oh <= OH_BOND_CUTOFF)[0] | ||
| if near.size >= 2: | ||
| chosen_h = h_indices[near[np.argsort(d_oh[near])[:2]]] | ||
| else: | ||
| chosen_h = h_indices[np.argsort(d_oh)[:2]] |
| bg07color = '#479FB1' | ||
| bv17color = '#6E7CBC' | ||
|
|
||
| # Overlay controls for top-water atoms on AFM slice z0 = 13.60 A (first column, first row). |
Comment on lines
+139
to
+148
| parts = row.split() | ||
|
|
||
| if len(parts) < 4: | ||
|
|
||
| continue | ||
|
|
||
| atomic_numbers.append(int(parts[0])) | ||
|
|
||
| positions.append([float(parts[1]), float(parts[2]), float(parts[3])]) | ||
|
|
Comment on lines
+295
to
+305
| # 1) Load config | ||
|
|
||
| xyz_path = DATA_DIR / f'{CONFIG_ID}.xyz' | ||
|
|
||
| if not xyz_path.exists(): | ||
|
|
||
| raise FileNotFoundError(f'Missing XYZ file: {xyz_path}') | ||
|
|
||
|
|
||
|
|
||
| xyz = load_xyz(xyz_path) |
Comment on lines
+1
to
+3
| # AFM slice/config correspondence notebook | ||
|
|
||
| # This notebook overlays top-layer atom positions onto one AFM 2D slice. |
Comment on lines
+19
to
+22
| CONFIG_ID = 0 # default one configuration | ||
|
|
||
| SLICE_IDX = 7 # default one selected slice (0-14) | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update Fig. 4
