<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Highlight the 3 dies from the edge of the wafer map in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607501#M80910</link>
    <description>&lt;P&gt;Thanks Brady&lt;/P&gt;</description>
    <pubDate>Thu, 02 Mar 2023 16:45:36 GMT</pubDate>
    <dc:creator>Jackie_</dc:creator>
    <dc:date>2023-03-02T16:45:36Z</dc:date>
    <item>
      <title>Row selection</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607458#M80905</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello JMP community,&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/14366"&gt;@jthi&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A little challenging problem - I'm trying to write a code in jsl that can apply an exclusion to &lt;SPAN&gt;So basically, I want to select&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Appreciate your help and suggestion.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Jack&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jun 2023 16:32:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607458#M80905</guid>
      <dc:creator>Jackie_</dc:creator>
      <dc:date>2023-06-08T16:32:01Z</dc:date>
    </item>
    <item>
      <title>Re: Highlight the 3 dies from the edge of the wafer map</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607493#M80908</link>
      <description>&lt;P&gt;This might be an iterative process. it is also tough, in a pixellated environment like this, to strictly define "3 from the edge".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can get pretty close by using an ellipse to select.&lt;/P&gt;
&lt;P&gt;1) find center x and center y&lt;/P&gt;
&lt;P&gt;2) using eccentricity as needed, perturb a circle to get an ellipse parallel to the wafer edge.&lt;/P&gt;
&lt;P&gt;3) choose a "radius" (dubious term here, I know) that selects the points you want.&lt;/P&gt;
&lt;P&gt;4) use a formula column to flag points of interest.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below are screenshots and a script to run against your data table&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="brady_brady_0-1677774523483.png" style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/50650i52BAA726D2293954/image-size/large?v=v2&amp;amp;px=999" role="button" title="brady_brady_0-1677774523483.png" alt="brady_brady_0-1677774523483.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="brady_brady_1-1677774575977.png" style="width: 999px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/50651iBA282E8B18015B2E/image-size/large?v=v2&amp;amp;px=999" role="button" title="brady_brady_1-1677774575977.png" alt="brady_brady_1-1677774575977.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);
dt = current data table();

dt &amp;lt;&amp;lt; new column ("Cx",  Formula( 	(Col Max( :X coord ) + Col Min( :X coord ) ) / 2 ) );
dt &amp;lt;&amp;lt; new column ("Cy",  Formula( 	(Col Max( :Y coord ) + Col Min( :Y coord ) ) / 2 ) );
dt &amp;lt;&amp;lt; new column ("To Select", Formula( Root( Power( :X coord - :Cx ) * 0.57 + Power( :Y coord - :Cy ) ) &amp;gt; 100 ) );
dt &amp;lt;&amp;lt; Select Where(:To Select == 1 );
dt &amp;lt;&amp;lt; Run Script ("Wafer Map");

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 02 Mar 2023 16:36:05 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607493#M80908</guid>
      <dc:creator>brady_brady</dc:creator>
      <dc:date>2023-03-02T16:36:05Z</dc:date>
    </item>
    <item>
      <title>Re: Highlight the 3 dies from the edge of the wafer map</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607501#M80910</link>
      <description>&lt;P&gt;Thanks Brady&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2023 16:45:36 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607501#M80910</guid>
      <dc:creator>Jackie_</dc:creator>
      <dc:date>2023-03-02T16:45:36Z</dc:date>
    </item>
    <item>
      <title>Re: Highlight the 3 dies from the edge of the wafer map</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607507#M80911</link>
      <description>&lt;P&gt;You'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.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That selection looks like this:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="brady_brady_0-1677776018250.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/50655i8D2788B214166D6B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="brady_brady_0-1677776018250.png" alt="brady_brady_0-1677776018250.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've attached a table with columns supporting both approaches.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Brady&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2023 16:54:28 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607507#M80911</guid>
      <dc:creator>brady_brady</dc:creator>
      <dc:date>2023-03-02T16:54:28Z</dc:date>
    </item>
    <item>
      <title>Re: Highlight the 3 dies from the edge of the wafer map</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607515#M80912</link>
      <description>&lt;P&gt;Thanks a lot brady!&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2023 17:15:25 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/607515#M80912</guid>
      <dc:creator>Jackie_</dc:creator>
      <dc:date>2023-03-02T17:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: Highlight the 3 dies from the edge of the wafer map</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/609069#M81032</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/3552"&gt;@brady_brady&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Quick Question brady - What if I want to select a square matrix of 3 x 3 from the center of the wafer map?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Current Data Table();


Try( dt &amp;lt;&amp;lt; Delete Columns( "RevX", "RevY", "RankX", "RankY", "Select" ) );

Try( dt &amp;lt;&amp;lt; Delete Table Variable( "Par" ) );
Par = 135;



dt &amp;lt;&amp;lt; New Table Variable( "Par", 4 );
dt &amp;lt;&amp;lt; New Column( "RevX", Formula( (Col Number( :X coord, :Y coord ) - Col Rank( :X coord, :Y coord )) + 1 &amp;lt; Par ) );
dt &amp;lt;&amp;lt; New Column( "RevY", Formula( (Col Number( :Y coord, :X coord ) - Col Rank( :Y coord, :X coord )) + 1 &amp;lt; Par ) );

dt &amp;lt;&amp;lt; New Column( "RankX", Formula( Col Rank( :X coord, :Y coord ) &amp;lt; Par ) );
dt &amp;lt;&amp;lt; New Column( "RankY", Formula( Col Rank( :Y coord, :X coord ) &amp;lt; Par ) );
dt &amp;lt;&amp;lt; New Column( "Select", Formula( :RevX + :RevY + :RankX + :RankY &amp;gt; 0 ) );
dt &amp;lt;&amp;lt; Select Where( :Select == 1 );

New Window( "",
	H List Box(

		Outline Box( "Control",
			tb = Text Edit Box( 3 ),
			Button Box( "Set",
				val = Num( tb &amp;lt;&amp;lt; get text ) + 1;
				dt &amp;lt;&amp;lt; Set Table Variable( "Par", val );
				dt &amp;lt;&amp;lt; Select Where( :Select == 1 );
			)
/*	sb=	Slider Box( 0.001, 1, p,
			dt:Par = p;
			dt &amp;lt;&amp;lt; Select Where(:To Select == 1 );
			tb &amp;lt;&amp;lt; 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 ) ) )
		)
	)
	
);

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 07 Mar 2023 16:13:32 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/609069#M81032</guid>
      <dc:creator>Jackie_</dc:creator>
      <dc:date>2023-03-07T16:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: Highlight the 3 dies from the edge of the wafer map</title>
      <link>https://community.jmp.com/t5/Discussions/Row-selection/m-p/609081#M81033</link>
      <description>&lt;P&gt;In that case, you would change the "select" formula&amp;nbsp; (from my first example, where I used the formula of an ellipse) to this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Abs( :X coord - Round( :Cx ) ) &amp;lt;= 1 &amp;amp; Abs( :Y coord - Round( :Cy ) ) &amp;lt;= 1&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;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.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;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.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;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.&lt;/P&gt;
&lt;P&gt;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.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="brady_brady_0-1678206401334.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/50814i9121F6B9AC2894B5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="brady_brady_0-1678206401334.png" alt="brady_brady_0-1678206401334.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Mar 2023 16:56:42 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Row-selection/m-p/609081#M81033</guid>
      <dc:creator>brady_brady</dc:creator>
      <dc:date>2023-03-07T16:56:42Z</dc:date>
    </item>
  </channel>
</rss>

