Re : Mettez en surbrillance les 3 matrices à partir du bord de la carte de la plaquetteIl peut s'agir d'un processus itératif. il est également difficile, dans un environnement pixélisé comme celui-ci, de définir strictement "3 à partir du bord".
Vous pouvez vous en approcher assez en utilisant une ellipse pour sélectionner.
1) trouver le centre x et le centre y
2) en utilisant l'excentricité au besoin, perturbez un cercle pour obtenir une ellipse parallèle au bord de la plaquette.
3) choisissez un "rayon" (terme douteux ici, je sais) qui sélectionne les points que vous voulez.
4) utilisez une colonne de formules pour signaler les points d'intérêt.
Vous trouverez ci-dessous des captures d'écran et un script à exécuter sur votre table de données


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 : Mettez en surbrillance les 3 matrices à partir du bord de la carte de la plaquetteMerci Brady
Re : Mettez en surbrillance les 3 matrices à partir du bord de la carte de la plaquetteJe t'en prie. Vous pouvez également le faire avec une approche basée sur le classement, en sélectionnant les 3 x du haut et du bas pour un y donné, et inversement.
Cette sélection ressemble à ceci :

J'ai joint un tableau avec des colonnes prenant en charge les deux approches.
Acclamations,
brady
Re : Mettez en surbrillance les 3 matrices à partir du bord de la carte de la plaquetteMerci beaucoup bradi !
Re : Mettez en surbrillance les 3 matrices à partir du bord de la carte de la plaquette@brady_brady
Question rapide brady - Que se passe-t-il si je veux sélectionner une matrice carrée de 3 x 3 à partir du centre de la carte de plaquette ?
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 : Mettez en surbrillance les 3 matrices à partir du bord de la carte de la plaquetteDans ce cas, vous changeriez la formule "select" (de mon premier exemple, où j'ai utilisé la formule d'une ellipse) en ceci :
Abs( :X coord - Round( :Cx ) ) <= 1 & Abs( :Y coord - Round( :Cy ) ) <= 1
La raison pour laquelle je dis d'utiliser l'exemple d'ellipse est que, contrairement à l'exemple basé sur le rang, le centre x et le centre y doivent être déterminés. Une fois que vous avez fait cela, vous recherchez une différence de -1, 0 ou 1 par rapport à la valeur arrondie du centre x, et une différence de -1, 0 ou 1 par rapport à la valeur arrondie du centre y.
En général, pour un carré NxN, vous auriez besoin de la formule comme ci-dessus, mais avec (N-1)/2 remplacé à chaque endroit où j'ai la valeur "1" dans la formule ci-dessus.
EDIT : en fait, c'est pour un carré NxN lorsque N est impair. Si N est pair, vous devrez faire un peu plus de travail.
a) si Cx ou Cy s'avèrent être des nombres entiers, vous devrez décider si vous voulez saisir plus de dés à gauche du centre (de manière analogue, en dessous), ou plus de dés à droite du centre (de manière analogue, au-dessus), puis vous déplacer légèrement centrez et capturez N/2 dés de chaque côté de celui-ci. Lorsque Cx ou Cy n'est pas un entier, vous pouvez simplement capturer N/2 dés de chaque côté de Cx ou Cy, respectivement.

Sélection de ligne
Bonjour la communauté JMP,
@jthi
Un petit problème difficile - j'essaie d'écrire un code en jsl qui peut appliquer une exclusion à Donc, fondamentalement, je veux sélectionner
Appréciez votre aide et suggestion.
BR,
Jack
Automatisation et scriptIngénierie de la qualité et des procédés