Open demisjohn opened 4 years ago
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.
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
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.
Add some utility functions, such as:
convert_cellCR_to_WaferXY( cellCR=[C,R], shiftXY=[X,Y] )
- convert Col/Row and Shift into X/Y Wafer Coordinates.Check_Valid_CellCR( cellCR=[C,R] )
- return True|False if the given CellCR is on-wafer.Get_Valid_CellCR()
- return all valid Col/Rows that fit on the wafer.