API Reference#
This page provides detailed documentation for all modules, classes, and functions in the Fishing Line Material Properties Analysis package.
Package Overview#
Fishing Line Material Properties Analysis package.
- class Fishing_Line_Material_Properties_Analysis.MaterialAnalyzer(efficiency: float = 0.5, projectile_mass_kg: float = 0.045, line_accel_length_m: float = 1.0)[source]#
Bases:
objectAnalyzer for fishing line material properties.
- __init__(efficiency: float = 0.5, projectile_mass_kg: float = 0.045, line_accel_length_m: float = 1.0) None[source]#
Initialize the MaterialAnalyzer.
- Parameters:
efficiency – Energy conversion efficiency (0-1), accounts for losses
projectile_mass_kg – Mass of projectile in kg (default 45g)
line_accel_length_m – Length of line that accelerates (default 1m)
- calculate_summary_stats(data_list: List[DataFrame]) Dict[str, Any][source]#
Calculate summary statistics for a group of test data.
- generate_summary_report(group_results: Dict[str, Any], output_dir: str) None[source]#
Generate a summary report of all test results.
- load_file(filepath: str) DataFrame[source]#
Load material test data from CSV file.
- Parameters:
filepath – Path to CSV file
- Returns:
DataFrame with material test data and metadata
- Raises:
ValueError – If file is not in CSV format
- class Fishing_Line_Material_Properties_Analysis.MaterialVisualizer(output_dir: str = 'out')[source]#
Bases:
objectVisualizer for fishing line material properties.
- __init__(output_dir: str = 'out')[source]#
Initialize the MaterialVisualizer.
- Parameters:
output_dir – Directory for saving plots and outputs
- create_summary_plot(group_results: Dict[str, Any], output_dir: str) None[source]#
Create summary plots comparing results across groups and lengths.
- Parameters:
group_results – Dictionary with analysis results
output_dir – Output directory path
- plot_multi_trace(data_list: List[DataFrame], x_param: str = 'Strain', y_param: str = 'Stress', title_suffix: str = '') None[source]#
Plot multiple data traces on the same figure.
- Parameters:
data_list – List of DataFrames with test data
x_param – Parameter for x-axis
y_param – Parameter for y-axis
title_suffix – Additional suffix for filename
Package Structure#
The Fishing Line Material Properties Analysis package consists of three main modules:
Analysis Module: Core functionality for processing material test data
Visualization Module: Plotting and data visualization capabilities
Main Module: Command-line interface and application entry point
Quick Start#
from Fishing_Line_Material_Properties_Analysis.analysis import MaterialAnalyzer
from Fishing_Line_Material_Properties_Analysis.visualization import MaterialVisualizer
# Initialize analyzer and visualizer
analyzer = MaterialAnalyzer()
visualizer = MaterialVisualizer(output_dir='results')
# Load and analyze data
data = analyzer.load_file('test_data.csv')
visualizer.plot_single_trace(data)
Analysis Module#
The analysis module contains the core functionality for processing material test data and calculating material properties.
Material analysis module for fishing line properties.
- class Fishing_Line_Material_Properties_Analysis.analysis.MaterialAnalyzer(efficiency: float = 0.5, projectile_mass_kg: float = 0.045, line_accel_length_m: float = 1.0)[source]#
Bases:
objectAnalyzer for fishing line material properties.
- __init__(efficiency: float = 0.5, projectile_mass_kg: float = 0.045, line_accel_length_m: float = 1.0) None[source]#
Initialize the MaterialAnalyzer.
- Parameters:
efficiency – Energy conversion efficiency (0-1), accounts for losses
projectile_mass_kg – Mass of projectile in kg (default 45g)
line_accel_length_m – Length of line that accelerates (default 1m)
- calculate_summary_stats(data_list: List[DataFrame]) Dict[str, Any][source]#
Calculate summary statistics for a group of test data.
- generate_summary_report(group_results: Dict[str, Any], output_dir: str) None[source]#
Generate a summary report of all test results.
- load_file(filepath: str) DataFrame[source]#
Load material test data from CSV file.
- Parameters:
filepath – Path to CSV file
- Returns:
DataFrame with material test data and metadata
- Raises:
ValueError – If file is not in CSV format
Usage Examples#
from Fishing_Line_Material_Properties_Analysis.analysis import MaterialAnalyzer
# Initialize analyzer
analyzer = MaterialAnalyzer()
# Load test data
data = analyzer.load_file('tensile_test.csv')
# Calculate summary statistics for multiple tests
test_data = [data1, data2, data3]
stats = analyzer.calculate_summary_stats(test_data)
# Generate summary report
analyzer.generate_summary_report(group_results, 'output_directory')
Visualization Module#
The visualization module provides plotting and data visualization capabilities for material property analysis.
Visualization module for fishing line material properties.
- class Fishing_Line_Material_Properties_Analysis.visualization.MaterialVisualizer(output_dir: str = 'out')[source]#
Bases:
objectVisualizer for fishing line material properties.
- __init__(output_dir: str = 'out')[source]#
Initialize the MaterialVisualizer.
- Parameters:
output_dir – Directory for saving plots and outputs
- create_summary_plot(group_results: Dict[str, Any], output_dir: str) None[source]#
Create summary plots comparing results across groups and lengths.
- Parameters:
group_results – Dictionary with analysis results
output_dir – Output directory path
- plot_multi_trace(data_list: List[DataFrame], x_param: str = 'Strain', y_param: str = 'Stress', title_suffix: str = '') None[source]#
Plot multiple data traces on the same figure.
- Parameters:
data_list – List of DataFrames with test data
x_param – Parameter for x-axis
y_param – Parameter for y-axis
title_suffix – Additional suffix for filename
Usage Examples#
from Fishing_Line_Material_Properties_Analysis.visualization import MaterialVisualizer
# Initialize visualizer
visualizer = MaterialVisualizer(output_dir='plots')
# Plot single stress-strain curve
visualizer.plot_single_trace(data, x_param='Strain', y_param='Stress')
# Plot multiple traces for comparison
visualizer.plot_multi_trace([data1, data2, data3], title_suffix='Comparison')
# Create summary plots
visualizer.create_summary_plot(group_results, 'output_directory')
# Plot output data
visualizer.plot_output_data('results.csv', x_param='D', y_param='KE')
Command Line Interface#
The main module provides the command-line interface for the application.
Fishing Line Material Properties Analysis Tool.
Unified command-line interface for analyzing and visualizing fishing line material properties.
- Fishing_Line_Material_Properties_Analysis.__main__.handle_analyze_command(args: Dict[str, Any]) int[source]#
Handle the analyze command.
- Fishing_Line_Material_Properties_Analysis.__main__.handle_batch_command(args: Dict[str, Any]) int[source]#
Handle the batch processing command.
- Fishing_Line_Material_Properties_Analysis.__main__.handle_visualize_command(args: Dict[str, Any]) int[source]#
Handle the visualize command.
- Fishing_Line_Material_Properties_Analysis.__main__.parse_command_line() Dict[str, Any][source]#
Parse command line arguments.
- Fishing_Line_Material_Properties_Analysis.__main__.setup_logging(verbosity: int) None[source]#
Setup logging configuration.
Command Line Usage#
The package provides several command-line commands:
Analyze Command#
poetry run Fishing_Line_Material_Properties_Analysis analyze -i data/test.csv
poetry run Fishing_Line_Material_Properties_Analysis analyze -i data/*.csv --plot-type multi
Batch Command#
poetry run Fishing_Line_Material_Properties_Analysis batch -d data --summary
Visualize Command#
poetry run Fishing_Line_Material_Properties_Analysis visualize -i results.csv
CLI Functions#
The following functions handle the command-line interface:
main(): Application entry pointparse_command_line(): Parse command line argumentshandle_analyze_command(): Handle analysis operationshandle_batch_command(): Handle batch processinghandle_visualize_command(): Handle visualization operationssetup_logging(): Configure logging system