Skip to content

Issue37#39

Merged
huangchieh merged 11 commits into
mainfrom
issue37
Jun 15, 2026
Merged

Issue37#39
huangchieh merged 11 commits into
mainfrom
issue37

Conversation

@huangchieh

Copy link
Copy Markdown
Collaborator

Update Fig. 4
image

Copilot AI review requested due to automatic review settings June 15, 2026 19:42
@huangchieh huangchieh merged commit 1689991 into main Jun 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.py at data/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_indicator to support in-plane 90° rotation steps via a new rotate_k parameter.
  • 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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants