input: def main_function_overview(logfile: str, calib_folder: str) -> None:
      """
      This script performs a series of calculations and plots based on input data. Before running the script, run eval_spectrum.py and calibration.py with appropriate measurements. The script loads input data, performs calibration, calculates various values, and generates plots of absorbed power vs emitted power, absorbed power vs reflectivity, and dissipated power vs wavelength. Additionally, it calculates thermal resistance and displays it on the plot. To run the code, execute the main function.
  
      >>> main_function_overview('../24_LL_ev/20150211_sample21-1-d6/spot333um.csv', '../24_LL_ev/20150204_calib_333um_s21-1-d6')
      """
output:     import os
      import pandas as pd
      import numpy as np
      import matplotlib.pyplot as plt
  
      # Load the logfile data
      log_data = pd.read_csv(logfile)
  
      # Load calibration data
      calib_files = [f for f in os.listdir(calib_folder) if f.endswith('.csv')]
      calib_data = pd.concat([pd.read_csv(os.path.join(calib_folder, f)) for f in calib_files])
  
      # Perform calibration
      log_data['calibrated_power'] = log_data['power'] * calib_data['calibration_factor'].mean()
  
      # Calculate absorbed power
      log_data['absorbed_power'] = log_data['calibrated_power'] - log_data['reflected_power']
  
      # Calculate dissipated power
      log_data['dissipated_power'] = log_data['absorbed_power'] - log_data['emitted_power']
  
      # Plot absorbed power vs emitted power
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['emitted_power'], log_data['absorbed_power'], 'bo-')
      plt.xlabel('Emitted Power')
      plt.ylabel('Absorbed Power')
      plt.title('Absorbed Power vs Emitted Power')
      plt.grid(True)
      plt.show()
  
      # Plot absorbed power vs reflectivity
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['reflectivity'], log_data['absorbed_power'], 'ro-')
      plt.xlabel('Reflectivity')
      plt.ylabel('Absorbed Power')
      plt.title('Absorbed Power vs Reflectivity')
      plt.grid(True)
      plt.show()
  
      # Plot dissipated power vs wavelength
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['wavelength'], log_data['dissipated_power'], 'go-')
      plt.xlabel('Wavelength')
      plt.ylabel('Dissipated Power')
      plt.title('Dissipated Power vs Wavelength')
      plt.grid(True)
      plt.show()
  
      # Calculate thermal resistance
      thermal_resistance = np.mean(log_data['dissipated_power'] / log_data['temperature_change'])
      print(f'Thermal Resistance: {thermal_resistance:.2f} W/K')
  
      # Display thermal resistance on the plot
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['wavelength'], log_data['dissipated_power'], 'go-')
      plt.xlabel('Wavelength')
      plt.ylabel('Dissipated Power')
      plt.title(f'Dissipated Power vs Wavelength\nThermal Resistance: {thermal_resistance:.2f} W/K')
      plt.grid(True)
      plt.show()