Skip to content

Add reader for accurion data#191

Merged
MarJMue merged 4 commits intoPyEllips:masterfrom
quentintanguy:patch-1
Oct 2, 2024
Merged

Add reader for accurion data#191
MarJMue merged 4 commits intoPyEllips:masterfrom
quentintanguy:patch-1

Conversation

@quentintanguy
Copy link
Contributor

Provides a way to import data from Accurion EP4 ellipsometer, similar to woollam, nexus and spetraray.

Provides a way to import data from Accurion EP4 ellipsometer, similar to woollam, nexus and spetraray.
@domna
Copy link
Member

domna commented Sep 19, 2024

Thank you for the new code. Could you provide an example file which you could contribute for a test function for your reader?

@quentintanguy
Copy link
Contributor Author

Thank you for the new code. Could you provide an example file which you could contribute for a test function for your reader?

Attached is a zipped raw file directly saved from the Accurion EP4 tool.
Si3N4_on_4inBF33_W02_20240903-150451.ds.zip

It's supposed to be ~874nm of non-stoichiometric Si3N4 on Borofloat33. The measurement was done with a scotch taped on the backside of the BF33 wafer to scatter as much as possible the unwanted reflections from the backside. This is because transparent substrates are always harder to measure. Btw, I wonder if there is a way to circumvent that issue by tweaking the TMM or including a roughness parameter to fit in the model. Just an idea for another thread maybe...

You can load the file that way:

import pandas as pd
idx = pd.IndexSlice
data = read_accurion_psi_delta(psi_delta_path, wrap=True).loc[idx[:, 400:1000], :] # for multi-angle fit

And the BF33 is found as (in case you want to try the fit):

rii_db = elli.db.RII()
BF33 = rii_db.get_mat(book="SCHOTT-multipurpose", page="BOROFLOAT33")

@domna
Copy link
Member

domna commented Sep 28, 2024

Thank you @quentintanguy. Could you add your data files and a test to your PR? That way we know that the reader works and see if something breaks them in the future.

You can basically copy this reader test for woollam data: https://github.com/PyEllips/pyElli/blob/master/tests/test_wollam.py
The data files would go to tests/test_accurion.

Other than that linting is failing. We use ruff to auto format our code. You can simply do this by pip install ruff==0.4.8 and then running ruff format on the code. This should do the formatting automatically for you. Could you do this as well?

Copy link
Member

@domna domna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the useful additions. I left some comments for some changes/additions necessary prior to merging. If anything is unclear or you need help with something feel free to ask.

@domna domna changed the title Create accurion.py Add reader for accurion data Sep 28, 2024
@MarJMue
Copy link
Collaborator

MarJMue commented Oct 2, 2024

I hope it's ok for you that I implemented the test and did a few changes myself.
I am working on importer stuff right now and would like to have this merged.
Thank you very much for your contribution.

@MarJMue MarJMue merged commit c1ebe1b into PyEllips:master Oct 2, 2024
@quentintanguy
Copy link
Contributor Author

I hope it's ok for you that I implemented the test and did a few changes myself. I am working on importer stuff right now and would like to have this merged. Thank you very much for your contribution.

Totally! Thanks a lot! Sorry, I am still a github supernoob...

@MarJMue
Copy link
Collaborator

MarJMue commented Oct 3, 2024

I am still a github supernoob...

No shame in that, everyone has to start somewhere.
Let me know if you want to contribute something else, or have any suggestions for improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants