Skip to content

Latest commit

 

History

History
101 lines (85 loc) · 3.95 KB

agenda.md

File metadata and controls

101 lines (85 loc) · 3.95 KB

GENERAL NOTES / KEY FEATURES

ERROR HANDLING

  • Add some bug-proofing logic to one-point picking (what if the user selects a valley or a featureless region)
  • Write a better version of str.isnumeric():
    • try to convert to a float; except return false
    • possibly keep this function and validate in a separate .py file

QUALITY OF LIFE FEATURES

  • "Restore defaults" option for EditChromatogram dialogue
  • Keyboard shortcuts
  • Chain peak picking
  • Allow deleting/editing picked peaks
  • Update peaks by changing values on table
  • Still allow manually setting peak bounds
  • Help menu
  • Settings menu
  • Add support for other types of data file (though I would need a sample to inspect)

UI FEATURES

ANALYTICAL FEATURES

  • Capacity factor
  • Read time scale from data file
  • Chromatogram signal addition and subtraction (remove reference peaks)
  • Noise and S/N ratio
  • Empirically determine a better default value for NOISE_TOLERANCE
  • Fix bug: plate count changes with time rescaling

SAVING/LOADING CHROMATOGRAMS

  • JSON?

  • Default file names

  • Export plot and table to PDF

  • Create a standard for saving data (similar to ascii data but with peak data, offset, scale, etc saved as well)

    • There might be a module that easily saves/loads variables
    • In that case, just export the history object and load it back in?
  • reimplement plotly for exporting nice interactable chromatograms

  • plt.savefig('D:\mpl_logo_with_title.png', dpi=dpi)

SETTINGS

  • Default integration mode
  • Error logging
  • Choose derivative calculation mode (left slope, right slope, lr average)

KNOWN BUGS

  • "instance.top.protocol("WM_DELETE_WINDOW", instance.cancel)" in dialogues.py does not result in instance.cancel() being called on closing out of the popup.

  • When trying to undo importing the first chromatogram: Exception in Tkinter callback Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\tkinter_init_.py", line 1892, in call return self.func(*args) File "C:\Users\epics\Documents\Code\MChroma\MChroma\main.py", line 89, in undo self.present().active().plot() File "C:\Users\epics\Documents\Code\MChroma\MChroma\main.py", line 61, in active return self.chromatograms[self.active_index] IndexError: list index out of range

  • Figure scaling is really gimpy: the peak table gets cut off, and resizing the window seems to resize the plot more than the table.