Tommaso:
I have got something working for the AR hdf5 to pycroscopy hdf5. So far I have trimmed the extension segment to have all the data of the same length. This in my opinion is a better approach than just fill the data with NaN or symilar. To keep the entire information I will include as an extra dataset how many points where removed at every position. Now I have a couple of questions: first in the Asylum file there is a group called "Images" where images are saved (e.g. the height map or adhesion map), however I do not know the best way to incorporate them in the pycroscopy hdf5 because they are not Channel but they are pert of the Measurement. Is it ok to have a subgroup of Measurement called 'Images'?
Second to be as general as possible I have made the spectroscopic dimension only as a function of 'Time', which will be independent from the measurement type (e.g. it does not matter if it is PFM, cAFM, Force and so on). However, this preclude a direct analysis of the real information that one might look for, like deflection as a function of Bias. My idea is to have dedicated function/method to use depending on what analysis should be done. My question is where these functions should be placed: somewhere with the analysis tools or as methods of the class I have made for the translation? In addition to this, these function will produce new datasets (for example from DART PFM measurements it is possible to use the SHO model to reduce the original information to Amp, Phase, Freq, Q fact at resonance, similarly to BE data), and I would like to ask where it is the best place to store them in the file?
Suhas:
To answer your questions:
1. Here is how I would lay out the data:
/Measurement_000/Channel_000/ <-- this contains your 3D dataset
/Measurement_000/Channel_001/ <--- contains the height image
/Measurement_000/Channel_002/ <-- contains adhesion…
Can you differentiate a PFM spectroscopy file from a cAFM, Force Spectroscopy file? If so, this knowledge should be embedded into the Spectrosocpic Values - it should be in nanometers for the Force, Volts for the PFM bias, and so on
The goal is to ensure that the data is as self explanatory as possible while respecting the fact that the raw data is stored as it was acquired from the instrument with minimal preprocessing
Anything that uses knowledge of physics to reduce (BE / DART -> SHO) or further analyze the data should go into pycroscopy.analysis