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: object

Analyzer 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: object

Visualizer 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

plot_output_data(filepath: str, x_param: str = 'D', y_param: str = 'KE') None[source]#

Plot output/results data.

Parameters:
  • filepath – Path to output CSV file

  • x_param – Parameter for x-axis

  • y_param – Parameter for y-axis

plot_single_trace(data: DataFrame, x_param: str = 'Strain', y_param: str = 'Stress') None[source]#

Plot a single data trace.

Parameters:
  • data – DataFrame with test data

  • x_param – Parameter for x-axis

  • y_param – Parameter for y-axis

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: object

Analyzer 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: object

Visualizer 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

plot_output_data(filepath: str, x_param: str = 'D', y_param: str = 'KE') None[source]#

Plot output/results data.

Parameters:
  • filepath – Path to output CSV file

  • x_param – Parameter for x-axis

  • y_param – Parameter for y-axis

plot_single_trace(data: DataFrame, x_param: str = 'Strain', y_param: str = 'Stress') None[source]#

Plot a single data trace.

Parameters:
  • data – DataFrame with test data

  • x_param – Parameter for x-axis

  • y_param – Parameter for y-axis

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__.main() int[source]#

Main entry point.

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 point

  • parse_command_line(): Parse command line arguments

  • handle_analyze_command(): Handle analysis operations

  • handle_batch_command(): Handle batch processing

  • handle_visualize_command(): Handle visualization operations

  • setup_logging(): Configure logging system