Jelenlegi hely

Lightweight data visualization tool to analyze measurement logs

Contact: Bányász József, jozsef.banyasz@continental-corporation.com

Summary: Create a small Python application capable of loading and plotting signals of a measurement log file.

Utilized technologies: Python, Python GUIs, Matplotlib, Numpy, CANoe/CANape data extraction from measurement files

Running and then analyzing any sort of measurement is a crucial task in Test and Validation (T&V). As tests are automated, the tester may not necessarily be present during a test session, but might want to have a look at the results (logs) at short notice. Most of the data analysis tools either require an available testbench PC, or a software capable of loading said results. Sometimes these software come at a hefty price, and are overloaded with complex features, a lot of tham that might be unnecessary for a quick analysis.

The task at hand is the creation of a Python based tool capable of analyzing such logs. The tool must be runnable on a windows based environment. Suggested libraries are matplotlib, numpy, any existing file type handlers (such as ’mdfreader’). Deviation from the default library stack is obviously allowed, but should be limited.

Starting the tool should immediately welcome the user with a clean, compact GUI with the following elements and features:

  • a text bar with a browse option to load the log file/s
  • a scrollable sidebar, where every signal contained within the log file is listed
  • a plot window, where the selected signal/s are plotted on a Time axis
  • a small toolbar which contains extra features to further analyze the data (such as: placing a cursor ont he plot, dual cursor to calculate changes within an interval, zoom function, reset to default view function)
  • a Python console where users can do operations on the loaded signals (such as: getting the average value of a signal, getting the length, getting the max value, highlighting areas where a signal equals to a value, …)
  • the tool must be able to handle multiple types of measurement files (the developer will be granted multiple prepared measurement files of different extension (.mdf is a must, and some other. Up for discussion, could be any of the CANoe native file types)

(The exact requirements are to be discusses at the start of the project)

 

During this task, the developer will learn:

  • the developer will gain insight on more advanced test evaluation procedures, framework developement, and tool developement
  • how to write maintainable and extendable Python code
  • how to design and implement a compact, easy to use graphical user interface
  • the developer will gain experience in implementing and handling data structures of multiple datatypes