Closed sannant closed 9 months ago
@tdbjacobs , @lthimons , @abg30 do you have some files in different file formats for which you can upload them and check easily the orientations and the lateral dimensions ?
I saw you posted in the previous issue that .opdx doesn't work. I have optical files in text format that I might upload. They have different x and y resolutions.
I shared the Topography x_y_testing with you guys so we can collect all these examples at the same place
Uploaded 'UNCD_as_recieved_5x_1.txt' looks good to me. I had to manually put in x and y sizes, but that is because the file has no meta data.
Orientation is ok, but height units are wrong. They should be in m
and not nm.
We have two _vsi (optical ) of a sphere where the aspect ratio looks ok, so the width and heights match correctly the x and y directions.
We have AFM data with same x and y direction where the scan direction seem to be missinterpreted (example: gain_control_uncd_dlc_5.002).
we have AFM data with different pixel spacing in fast and slow scan direction but same scan size in each direction (see uncd_12_2to1_aspratio.001
). Again the fast scan direction seems to be missinterpreted. I wonder where the vertical scars come from.
@abg30, can you check if everything is correct ?
The orientations of the fast scan direction of AFM looks ok now: Examples:
uncd_12_2to1_aspratio.001
gain_control_uncd_dlc_5.002
The width and heights of optical data do not match x and y anymore.
20181205_500um_unpolished_100x_vsi.OPDx
20181205_500um_unpolished_100x_vsi.txt
(the gwyddion export of the above OPDx)The two topographies look the same, meaning that the readers are consistent.
I think the the problem is in PyCo
In [1]: from PyCo.Topography import read_topography
In [2]: topOPDX = read_topography("20181205_500um_unpolished_100x_vsi.OPDx")
/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject
return f(*args, **kwds)
In [3]: topOPDX.pixel_size
Out[3]: array([0.0498119 , 0.02801189])
In [4]: import matplotlib.pyplot as plt
In [5]: plt.pcolormesh(*topOPDX.positions_and_heights())
Out[5]: <matplotlib.collections.QuadMesh at 0x123f05490>
In [6]: plt.show()
The reader provides unequal pixel sizes ! @abg30 , @lthimons can you confirm that this shouldn't be for this data ?
@StandartKai we should probably use this data with different width and hights for our tests.
sorry for the late reply, I am just seeing this. The pixel sizes certainly should be the same. If i recall, I have had a similar issue in the past that was resolved by rotating the substrate prior to uploading. Perhaps that tells you something. I have avoided this issue in recent uploads by simply cropping the data into a square prior to uploading.
This enables to check if the width and heights are attributed correctly to x and y (and a sphere apears as a sphere and not as an ellipse).