Thank you for sending the files!
It would appear that it is failing to load properly because the laser state remains "On" for pretty well the entire log. iolite looks for changes in the laser state to figure out when ablation is taking place. My guess is that your system is firing the laser continuously and using a beam stop to control when to ablate. Unfortunately, there is no information in the log regarding beam stop status, so we can't work out when each sample is being ablated.
For such laser logs, it is relatively easy to write a python script that will import the log for you by making some assumptions about the timing. I did this already as below but was unable to test it because of a problem with your data files. They load fine in iolite, but the date/time stamps in the files do not include seconds or milliseconds. Being rounded to minutes is simply not good enough when trying to synchronize with the laser log which includes milliseconds.
So, there a couple of things to look into before you'll be able to use laser logs successfully:
- The date/time stamp of your data files. If you can't change the format of it, then you'd be better off putting everything in to 1 file.
- You could try changing the settings of the laser software to do laser on/off vs beam stop open/closed to control ablation. I believe this options is available in some of the laser ablation control software.
Here is the code that I started on for importing your logs. It assumes the on/off are the two lines before the next comment.
from iolite.QtGui import QFileDialog
from iolite.QtCore import QDateTime
import pandas as pd
df = pd.read_csv(QFileDialog.getOpenFileName(), encoding='latin')
comments = df.loc[df[' Comment'] == df[' Comment']][' Comment']
samples = []
ni = 0
for ii, (i, v) in enumerate(comments.iteritems()):
si = df.index[-1] - 1 if ni >= len(comments) - 1 else comments.index[ni+1]-2
ei = df.index[-1] if ni >= len(comments) - 1 else comments.index[ni+1]-1
samples.append({
'name': v,
'startTime': QDateTime.fromString(df.at[si, 'Timestamp'], 'yyyy-MM-dd h:mm:ss.zzz'),
'endTime': QDateTime.fromString(df.at[ei, 'Timestamp'], 'yyyy-MM-dd h:mm:ss.zzz')
})
ni += 1
data.createLaserLog('/Test', samples)
All the best,