mlff_attack.visualization module
This module provides tools for visualizing trajectory data, including energy evolution,
force convergence, volume changes, and noise spectrum analysis.
Trajectory visualization functionality.
-
mlff_attack.visualization.calculate_noise_spectrum(max_forces)[source]
Calculate noise spectrum from maximum forces.
- Parameters:
max_forces (list of float) – List of maximum forces
- Returns:
A tuple containing:
- frequenciesnp.ndarray
Frequency array
- spectrumnp.ndarray
Power spectrum
- Return type:
tuple
-
mlff_attack.visualization.calculate_statistics(energies, max_forces, volumes)[source]
Calculate summary statistics from trajectory data.
- Parameters:
energies (list of float) – List of energies
max_forces (list of float) – List of maximum forces
volumes (list of float) – List of volumes
- Returns:
Dictionary of statistics including initial/final energies, forces, volumes,
convergence status, and change percentages
- Return type:
dict
-
mlff_attack.visualization.create_visualization(traj, traj_path, outdir, output_format='png', show=False, save_to_csv=True)[source]
Create visualization plots for trajectory data.
- Parameters:
traj (list of ase.Atoms) – List of ASE Atoms objects
traj_path (Path) – Path object for the trajectory file
outdir (Path) – Output directory for plots
output_format (str, optional) – Format for output plots (png, pdf, svg), by default ‘png’
show (bool, optional) – Whether to show plots interactively, by default False
save_to_csv (bool, optional) – Whether to save extracted data to CSV files, by default True
- Returns:
Path to saved plot, or None if failed
- Return type:
str or None
Extract energy, force, and volume data from trajectory.
- Parameters:
traj (list of ase.Atoms) – List of ASE Atoms objects
- Returns:
A tuple containing:
- stepslist of int
Step numbers
- energieslist of float
Energies at each step
- max_forceslist of float
Maximum forces at each step
- volumeslist of float
Volumes at each step
- Return type:
tuple
-
mlff_attack.visualization.load_trajectory(traj_path)[source]
Load a trajectory file and validate it exists.
- Parameters:
traj_path (str or Path) – Path to the trajectory file
- Returns:
List of ASE Atoms objects, or None if loading fails
- Return type:
list of ase.Atoms or None
-
mlff_attack.visualization.plot_energy(ax, steps, energies)[source]
Plot energy evolution.
- Parameters:
ax (matplotlib.axes.Axes) – Matplotlib axes object to plot on
steps (list of int) – Step numbers
energies (list of float) – Energy values at each step
-
mlff_attack.visualization.plot_forces(ax, steps, max_forces)[source]
Plot force convergence.
- Parameters:
ax (matplotlib.axes.Axes) – Matplotlib axes object to plot on
steps (list of int) – Step numbers
max_forces (list of float) – Maximum force values at each step
-
mlff_attack.visualization.plot_noise(ax, freq, spectrum)[source]
Plot noise spectrum of maximum forces.
- Parameters:
ax (matplotlib.axes.Axes) – Matplotlib axes object to plot on
freq (np.ndarray) – Frequency array
spectrum (np.ndarray) – Power spectrum values
-
mlff_attack.visualization.plot_summary(ax, stats, n_frames)[source]
Plot summary statistics.
- Parameters:
ax (matplotlib.axes.Axes) – Matplotlib axes object to plot on
stats (dict) – Dictionary of statistics from calculate_statistics
n_frames (int) – Number of frames in trajectory
- Returns:
Formatted summary text
- Return type:
str
-
mlff_attack.visualization.plot_volume(ax, steps, volumes)[source]
Plot volume evolution.
- Parameters:
ax (matplotlib.axes.Axes) – Matplotlib axes object to plot on
steps (list of int) – Step numbers
volumes (list of float) – Volume values at each step