Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cell class: Utility functions #12

Open
demisjohn opened this issue Jan 21, 2020 · 3 comments
Open

Cell class: Utility functions #12

demisjohn opened this issue Jan 21, 2020 · 3 comments
Labels
enhancement New feature or request

Comments

@demisjohn
Copy link
Owner

Add some utility functions, such as:

  1. convert_cellCR_to_WaferXY( cellCR=[C,R], shiftXY=[X,Y] ) - convert Col/Row and Shift into X/Y Wafer Coordinates.
  2. Check_Valid_CellCR( cellCR=[C,R] ) - return True|False if the given CellCR is on-wafer.
  3. Get_Valid_CellCR() - return all valid Col/Rows that fit on the wafer.
@demisjohn demisjohn added the enhancement New feature or request label May 10, 2020
@demisjohn
Copy link
Owner Author

Cell2Wafer() and Wafer2Cell() added to Cell class in c1f1003 .
Tested that they work, but need testing against ASML GUI that they are inclusive/exclusive of the correct Cell edges.

@demisjohn demisjohn changed the title Utility functions Cell class: Utility functions May 15, 2020
@demisjohn
Copy link
Owner Author

wafer2cell code from Miguel Daal:

Hi Demis,

I think this code to convert from wafer coordinates to cell coordinates works, but Ive only tested it on my marks which are clustered about East and West.

def wafer2cellXY(waferXY):
ms = np.array(MyJob.Cell.MatrixShift)
CS = 0.5*np.array(MyJob.Cell.CellSize)
pw = np.array(waferXY)

pm = pw-(ms+CS)
CR, r = np.divmod(np.abs(pm),2*CS)
CR = CR*np.sign(pm)+np.array([1,0]) if np.sign(pm)[0] == 1 else CR*np.sign(pm)
pc = (r-CS)*np.sign(pm)
return CR, pc

Sincerely
Miguel

@fyodr
Copy link
Contributor

fyodr commented May 2, 2023

I modified this on my fork (pull request imminent), and I have been using it to check if cells have alignment marks in them. Everything has worked so far, but I have not done very thorough testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants