Tutorial: Comparing Trajectory Analysis Methods
This tutorial demonstrates how to use the BinningTrajectoryAnalyzer and SlicedTrajectoryAnalyzer classes to analyze and compare contact angle and surface area data from trajectory simulations.
Introduction
The BinningTrajectoryAnalyzer and SlicedTrajectoryAnalyzer classes are designed to analyze trajectory data, specifically focusing on surface area and contact angle statistics. These tools are useful for comparing different analysis methods and visualizing results.
Setup and Initialization
Import the Classes
Ensure you have the required classes imported:
from wetting_angle_kit.visualization_angles.binning_analyzer import (
BinningTrajectoryAnalyzer,
)
from wetting_angle_kit.visualization_angles.sliced_analyzer import (
SlicedTrajectoryAnalyzer,
)
from wetting_angle_kit.visualization_angles.comparison_methods import (
MethodComparison,
)
Initialize the Analyzers
Specify the directories containing your trajectory data:
directories = [
"sliced_analysis_CA/result_dump_traj_2k_reduce_binned",
"sliced_analysis_CA/result_dump_traj_500_reduce_binned",
"sliced_analysis_CA/result_dump_traj_1k_reduce_binned",
"sliced_analysis_CA/result_dump_traj_8k_reduce_binned",
]
# Initialize the analyzers
sliced = SlicedTrajectoryAnalyzer(directories)
binning = BinningTrajectoryAnalyzer(directories)
Running the Analysis
Analyze Data
Run the analysis for both methods:
sliced.analyze()
binning.analyze()
Example Output
Directory: sliced_analysis_CA/result_dump_traj_2k_reduce_binned
Method: Sliced Analysis
Mean Surface Area: 2770.0659
Mean Contact Angle: 91.7015°
Directory: binning_analysis_CA/result_dump_traj_2k_reduce_binned
Method: Binning Analysis
Mean Surface Area: 2748.5427
Mean Contact Angle: 91.9236°
Interpreting the Output
Mean Surface Area: The average surface area for each trajectory.
Mean Contact Angle: The average contact angle for each trajectory.
Standard Deviation: Indicates the variability of the data.
Visualisation
Plot Mean Angle vs Surface Area
sliced.plot_mean_angle_vs_surface(save_path="mean_angle_vs_surface_sliced.png")
binning.plot_mean_angle_vs_surface(save_path="mean_angle_vs_surface_binning.png")
Plot Median Angle Evolution
For the sliced method, plot the evolution of median angles:
sliced.plot_median_alfas_evolution(save_path="evolution_of_angles_sliced_method.png")
Method Comparison
Compare Statistics
Use the MethodComparison class to compare the two methods:
comparison = MethodComparison([sliced, binning])
comparison.plot_side_by_side_comparison(save_path="comparison.png")
comparison.compare_statistics()
Example Output
======================================================================
METHOD COMPARISON STATISTICS
======================================================================
Sliced Analysis:
----------------------------------------------------------------------
sliced_analysis_CA/traj_2k/:
Mean Surface Area: 2770.0659 ± 15.2001
Mean Angle: 91.7015° ± 5.6130°
Overall Statistics:
Total samples: 196
Mean Surface Area: 4001.0215
Mean Angle: 91.8326°
Std Angle: 6.2027°
Binning Analysis:
----------------------------------------------------------------------
binning_analysis_CA/traj_2k:
Mean Surface Area: 2748.5427 ± 0.0000
Mean Angle: 91.9236° ± 0.0000°
Overall Statistics:
Total samples: 4
Mean Surface Area: 4022.1019
Mean Angle: 92.0876°
Std Angle: 0.2391°
Conclusion
The
SlicedTrajectoryAnalyzerprovides more detailed statistics with higher sample counts.The
BinningTrajectoryAnalyzeroffers a simplified, binning approach.Use the comparison tools to visualize and interpret differences between methods.
Additional Notes
Ensure your data directories are correctly formatted and contain the required log files.