Re: Highlight the 3 dies from the edge of the wafer mapThis might be an iterative process. it is also tough, in a pixellated environment like this, to strictly define "3 from the edge".
You can get pretty close by using an ellipse to select.
1) find center x and center y
2) using eccentricity as needed, perturb a circle to get an ellipse parallel to the wafer edge.
3) choose a "radius" (dubious term here, I know) that selects the points you want.
4) use a formula column to flag points of interest.
Below are screenshots and a script to run against your data table


Names Default To Here(1);
dt = current data table();
dt << new column ("Cx", Formula( (Col Max( :X coord ) + Col Min( :X coord ) ) / 2 ) );
dt << new column ("Cy", Formula( (Col Max( :Y coord ) + Col Min( :Y coord ) ) / 2 ) );
dt << new column ("To Select", Formula( Root( Power( :X coord - :Cx ) * 0.57 + Power( :Y coord - :Cy ) ) > 100 ) );
dt << Select Where(:To Select == 1 );
dt << Run Script ("Wafer Map");
Re: Highlight the 3 dies from the edge of the wafer mapThanks Brady
Re: Highlight the 3 dies from the edge of the wafer mapYou're welcome. You can also do this with a rank-based approach, selecting the top and bottom 3 xs for a given y, and conversely.
That selection looks like this:

I've attached a table with columns supporting both approaches.
Cheers,
Brady
Re: Highlight the 3 dies from the edge of the wafer mapThanks a lot brady!
Re: Highlight the 3 dies from the edge of the wafer map@brady_brady
Quick Question brady - What if I want to select a square matrix of 3 x 3 from the center of the wafer map?
Names Default To Here( 1 );
dt = Current Data Table();
Try( dt << Delete Columns( "RevX", "RevY", "RankX", "RankY", "Select" ) );
Try( dt << Delete Table Variable( "Par" ) );
Par = 135;
dt << New Table Variable( "Par", 4 );
dt << New Column( "RevX", Formula( (Col Number( :X coord, :Y coord ) - Col Rank( :X coord, :Y coord )) + 1 < Par ) );
dt << New Column( "RevY", Formula( (Col Number( :Y coord, :X coord ) - Col Rank( :Y coord, :X coord )) + 1 < Par ) );
dt << New Column( "RankX", Formula( Col Rank( :X coord, :Y coord ) < Par ) );
dt << New Column( "RankY", Formula( Col Rank( :Y coord, :X coord ) < Par ) );
dt << New Column( "Select", Formula( :RevX + :RevY + :RankX + :RankY > 0 ) );
dt << Select Where( :Select == 1 );
New Window( "",
H List Box(
Outline Box( "Control",
tb = Text Edit Box( 3 ),
Button Box( "Set",
val = Num( tb << get text ) + 1;
dt << Set Table Variable( "Par", val );
dt << Select Where( :Select == 1 );
)
/* sb= Slider Box( 0.001, 1, p,
dt:Par = p;
dt << Select Where(:To Select == 1 );
tb << Set text( p )
)*/
),
Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :X coord ), Y( :Y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
)
);
Re: Highlight the 3 dies from the edge of the wafer mapIn that case, you would change the "select" formula (from my first example, where I used the formula of an ellipse) to this:
Abs( :X coord - Round( :Cx ) ) <= 1 & Abs( :Y coord - Round( :Cy ) ) <= 1
The reason I say to use the ellipse example is that unlike with the rank-based example, center x and center y must be determined. Once you've done that, you're looking for a difference of -1, 0 or 1 from the rounded value of center x, and a difference of -1, 0 or 1 from the rounded value of center y.
In general, for an NxN square, you'd need the formula to look as above, but with (N-1)/2 substituted in each place where I have the value "1" in the formula above.
EDIT: actually, that is for an NxN square when N is odd. If N is even, you would need to do a bit more work.
a) if Cx or Cy turn out to be integers, you'd have to decide whether you want to grab more dice left of (analogously, below) center, or more dice right of (analogously, above) center, then move slightly off center and capture N/2 dice on each side of this. When Cx or Cy is not an integer, you can just capture N/2 dice on each side of Cx or Cy, respectively.

Row selection
Hello JMP community,
@jthi
A little challenging problem - I'm trying to write a code in jsl that can apply an exclusion to So basically, I want to select
Appreciate your help and suggestion.
BR,
Jack
Automation and ScriptingQuality and Process Engineering