ContactEngineering / SurfaceTopography

Read and analyze surface topographies
https://contactengineering.github.io/SurfaceTopography/
MIT License
17 stars 10 forks source link

About RMS slope computation for nanoparticle covered surface #90

Closed Rick224339 closed 3 years ago

Rick224339 commented 3 years ago

RMS slope issue

Hello everyone,

I am Ruikang Ding who has usually used the contact.engeering web app to characterize topography. Recently, I am studying topography of a nanoparticle covered smooth surface. The attached image shows a transmission electron microscopy (TEM) image of a nanoparticle covered surface from the cross-section view. The profile of the surface is traced by clicking points (red circles) manually via image analysis. However, there is a problem for roughness analysis.

Conventionally, topographic profile should be a function of height as distance. This means each x value (horizontal coordinate) must uniquely correspond to a z (height coordinate) value. However, in the nanoparticle covered surface, the region where nanoparticle contacts the substrate (the yellow box in the image) is tricky. The x value of points in that region corresponds to two z values. This is contradictary to conventional defination of topographic profile, which makes roughness parameter calculation impossible.

Our solution to this problem is to modify the traced profile so that each x value uniquely corresponds to one z value. For example, the last figure has red and blue points. They correspond to the yellow box regions in the second TEM images. The overlapping regions are ignored and the profiles are modified. The red lines in the second images indicate that overlapping region is skipped and regarded as a steep slope.

This is a reasonable processing but it causes trouble in root mean square (RMS) slope computation. This small modification has little influence on RMS height but RMS slope and even RMS curvature are greatly influenced. I use the contact.engineering web app to compute the RMS slope. However, the output RMS slope value is extremely high. This is because the slopes are too steep (red lines in the second TEM image) and increase the RMS slope. This means the artifacts cause error and increase RMS slope. I am wondering whether there is any way to solve this problem so that the error caused by artifacts can be reduced as far as possible.

Sorry for too many texts to demonstrate it. I appreciate it if I can get some ideas.

Thanks, Ruikang

sannant commented 3 years ago

What about manually splitting the scan into pieces ? The rms-slope you are interested in is a small scale feature and shouldn't be affected by splitting the scan.

Rick224339 commented 3 years ago

Splitting the scan is a simple solution, but we both have interest in small scale and large scale features. For small scale features, we choose to measure roughness by taking images at higher magnification. E.g magnify the region of a split piece, take image and measure the roughness. There is no overlapping issue for small scale roughness measurement. Plus, this is better than splitting at low magnification because resolution is much higher at high magnification. For large scale roughness, we measure it at low magnification. The issue I raised here is applicable to just large scale roughness measurement.

sannant commented 3 years ago

Then the scale dependent slope can be used for large scales. I think there it should be unsensitive to the exact way you cut the overhangs away.

For the small scale features I still think cutting the scan into pieces is the only way. Unfortunately, the webapp doesn't do that automatically.

Rick224339 commented 3 years ago

Thanks. Make sense.

mcrot commented 3 years ago

Shall we close this issue here? Shall we create a feature request for the web app to automatically cut scans into pieces?

Rick224339 commented 3 years ago

Yes, it can be closed. I do not have idea about that. I am able to split profiles before uploading the profiles so this is not a big problem for me.

Thanks again for the help.

Rick224339 commented 3 years ago

I suddenly have an idea to deal with profiles which cannot be defined as a functional form. RMS height computation is not influenced by this issue, because it only cares height but not specific position of a point. For RMS slope and RMS curvature, if the profile can be defined in vector form, slope and curvature computed from vectors are not required whether the profile is a function or not. This may be wrong but I just think of it.

sannant commented 3 years ago

You are right , a curvature can be defined for any triplet of points with whatever orientation. However, it is not clear to me how one can define a slope.