Here are 40000 points (x,y) on the wafer, how to arrange them into the right row/column, in order to form wafer map?

Hello all friends,
I want to arrange all these phisical points into a logical map, but how many rows and column are not known in advance, we just know:
1. seperation can be given, for example stepX(width) =390.7,StepY(heigh) =318.8
2. some of the points' posX and posY are scaned several times, so deleting redundant data needed.
What's the method to solve this problem?
posX posY
60346 79682.2
59928.4 78089.2
60724 79044.4
61484.2 78085.9
59948.7 79045.6
61479 77767.5
60339.5 79365.1
56052.5 79061.7
56030.9 78113.6
56428.6 78425.4
56436.5 78745.9
57201.8 78106.2
58781.1 79374.2
56448.4 79702.1
56825.3 79066
56440.2 79059.4
57613.9 79700.8
56840.8 79699.7
57989.3 78739.6
58778.9 79692
58772 79048.6
58004.9 79692.7
56057.1 79703.9
57224.6 79381.9
56821.8 78747.1
56422.6 78111.7
57611.8 79379.9
56047.5 78747.2
56827.9 79385.8
56416.1 77793.6
57194.1 77787.8
56048.2 79385.7
58383.6 79060.5
56444.7 79384.2
57587.1 78109.3
Below is a small example to demostrate this case,  just with hundreds of points
From sacnning the wafer:
To form the map:
 Thanks very much,
Deho

Thanks Johnsol,Stevem181 ,GerdW:
display using intensity chart with 2D array data source can be realized,  there are some topics discussing about it. For example, from Stevem181(thread here), and GerdW (thread here). 
And, thanks GerdW again, I use the map image  from his post, everybody can goto that thread for detailed. .
but, I think the diffcult may be the classfication of the data.  The question is like this, let me give an example: Throwing a handfull of beans on the desktop, under this condition without anyother infomation supported, how to segment them in to the best suitable row/coulmn?
for example this is the case:
here is classfication 1:
and here is the classfication 2:
In these two arrangement  surely we think 1th is more suitable than 2th,
for there are too many empty cells in 2th  , indicated by blue color::

Similar Messages

  • I recently thought I was updating my Safari browser. When completed, I put all those little files that were on the desktop into the trash. Now my trash is saying it can't be emptied because there are locked files and I don't know how to unlock them

    I recently thought I was updating my Safari browser. When completed, I put all those little files that were on the desktop into the trash. Now my trash is saying it can't be emptied because there are locked files and I don't know how to unlock them or get them out of my trash and they keep multiplying. And to make matters worse, I tried renaming them as pdf files thinking that might do the trick.

    oh boy ! I'd ask you if you knew what kind of files they were or where they came from, but I don't think you could help me a bunch. Try going to the Utilities folder and running Disk Utilities.  If you want to empty the Trash and it won't empty, go to the finder and choose "secure Empty trash". Worse case scenario-you may have to reinstall Snow Leopard, but I don't know what else to suggest. If you have a DVD of Snow Leopard, boot up from that,  and reinstall the OS. This will not touch the stuff you have on your Hard Drive, then you can update from 10.6 to 10.6.8, otherwise Onyx? Maybe those files are part of the OS which needs them to keep running.  if you hold down the Shift key on reboot, you can reboot in Safe mode and maybe you can take the files out of the trash that way
    good luck
    John B

  • I have a numbers spreadsheet for tracking company data.  I want to copy the format of the spreadsheet (rows, columns,and formulas) but have all of the data fields be blank for the new year.  How do I do that?

    I have a numbers spreadsheet for tracking company data.  I want to copy the format of the spreadsheet (rows, columns,and formulas) but have all of the data fields be blank for the new year.  How do I do that?

    click and hold on one cell, then drag to select the range, then release, then type the delete key.  Only inlude cells in the range you do not want to keey the contents of the cell.  You can remove one-off cells by holding the command key and clicking cells to add or remove as needed.
    You can download the Numbers users guide here:
    http://support.apple.com/manuals/#productivitysoftware

  • What's the right tool to use to migrate forms modules.?

    Hi.
    I'm in doubt deciding which might be the right tool to use to migrate forms modules from 6i to 10g.
    The obvious choice seems to be Forms Migration Assistant. However I found Metalink Note: 201344.1 which clearly states :
    "We recommend to use ifcmp90 as there may arise some issues due to the migration assistant ifplsqlconv90. ifcmp90 upgrades the 6i fmb to 9i fmb whereas ifplsqlconv90 upgrades obsolete plsql , such as built-ins like set_alert_property. So it is advisable to use the ifcmp90 instead"
    I have a newer version of FMA and i've done some test and it compiles and upgrades forms modules, but does not generate fmx files. So i conclude one should user FMA first and later generate fmx files either one by one or batch compile.
    Please any comments are welcome ....!

    Hi,
    correct. You use FMA first and then compile the FMX files. You can also use the Forms builder environment to perform the migration, but FMA is more convenient to use.
    Frank

  • Hello I have the Latest version of Adobe Lightroom 5 to date (8/26/14) however just recently when I open the develop tab I'm missing two options on the right side column "Lens correction" and "Effects"  I do not know I've hit some setting to remove those

    Hello I have the Latest version of Adobe Lightroom 5 to date (8/26/14) however just recently when I open the develop tab I'm missing two options on the right side column "Lens correction" and "Effects"  I do not know I've hit some setting to remove those options or if this latest version deleted those options?  Any help would be greatly appreciated and please excuse my ignorance :/

    Right click next to one of the other headers and you will get a pop-up to enable the missing ones.

  • JTable cell Render on the last row column one help please

    Hi All
    I am hoping that someone will be able to help me with this....
    I want to render the last row and column one of the table with this render
    thanks for any help
    Craig
        public class MyRenderer2 extends DefaultTableCellRenderer {
            public Component getTableCellRendererComponent(JTable table,
                    Object value,
                    boolean isSelected, boolean hasFocus,
                    int row, int column) {
                ImageIcon icon = new ImageIcon(image_pics.SMALL_BLUE);
                setIcon(icon);
                return this;
        }

    it still renders every row
    any Ideas ??
    I just want the last row column 0 to be rendered
    I a call a method set table
    then I call for the data
    //TableModel
        public void setClientTableModel() {
            clientModel = new DefaultTableModel(coloumHeaderObject, 0) {
                public boolean isCellEditable(int row, int column) {
                    return false;
            TableSorter sorter = new TableSorter(clientModel); //ADDED THIS
            sorter.setTableHeader(phoneList.getTableHeader()); //ADDED THIS
            phoneList.setModel(sorter);
           // phoneList.setTableHeader(null);
            setTable();
            revalidate();
        public void setTable() {
          // phoneList.getColumnModel().getColumn(0).setCellRenderer(new MyRenderer());
            phoneList.getColumnModel().getColumn(1).setCellRenderer(new MyRenderer1());
            phoneList.getColumnModel().getColumn(4).setCellRenderer(new MyRenderer2());
            phoneList.getColumnModel().getColumn(0).setMinWidth(20);
            phoneList.getColumnModel().getColumn(0).setMaxWidth(20);
            phoneList.getColumnModel().getColumn(0).setPreferredWidth(20);
            phoneList.getColumnModel().getColumn(1).setMinWidth(20);
            phoneList.getColumnModel().getColumn(1).setMaxWidth(20);
            phoneList.getColumnModel().getColumn(1).setPreferredWidth(20);
            phoneList.getColumnModel().getColumn(2).setMinWidth(80);
            phoneList.getColumnModel().getColumn(2).setMaxWidth(80);
            phoneList.getColumnModel().getColumn(2).setPreferredWidth(80);
            phoneList.getColumnModel().getColumn(3).setMinWidth(150);
            phoneList.getColumnModel().getColumn(3).setMaxWidth(150);
            phoneList.getColumnModel().getColumn(3).setPreferredWidth(150);
            phoneList.getColumnModel().getColumn(4).setMinWidth(20);
            phoneList.getColumnModel().getColumn(4).setMaxWidth(20);
            phoneList.getColumnModel().getColumn(4).setPreferredWidth(20);
            phoneList.setOpaque(false);
            phoneList.setGridColor(Color.lightGray);
            phoneList.setRowHeight(18);
            phoneList.setShowVerticalLines(false);
            phoneList.setIntercellSpacing(new Dimension(0, 0));
            phoneList.setFont(new java.awt.Font("Lucida Grande", 0, 11));
            phoneList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            if (ALLOW_COLUMN_SELECTION) { // false by default
                if (ALLOW_ROW_SELECTION) {
                    phoneList.setCellSelectionEnabled(true);
                phoneList.setColumnSelectionAllowed(true);
                ListSelectionModel colSM = phoneList.getColumnModel().getSelectionModel();
                colSM.addListSelectionListener(new ListSelectionListener() {
                    public void valueChanged(ListSelectionEvent e) {
                        if (e.getValueIsAdjusting())return;
                        ListSelectionModel lsm = (ListSelectionModel) e.getSource();
                        int row = phoneList.getSelectedRow(), col = 3;
                        int rowID = phoneList.getSelectedRow(), colID = 5;
                        if (lsm.isSelectionEmpty()) {
                        } else {
                            int selectedCol = lsm.getMinSelectionIndex();
                            if (selectedCol == 4) {
                                phoneNumber = (String) phoneList.getValueAt(row, col).toString();
                                main.setPhoneNumber(phoneNumber);
                                main.openLargePhone();
                                lsm.clearSelection();
                            if (selectedCol == 5) {
                                ID = (String) phoneList.getValueAt(row, col).toString();
                             //   main.setID(ID);
                              //  main.deleteContact();
                                lsm.clearSelection();
    //set table data
        public void setTest() {
            setClientTableModel();
            Object[] data = {" ", " ", "Work", "03 9841-8247", " "};
            clientModel.addRow(data);
            Object[] data1 = {" ", " ", "Fax", "03 9842-0360", " "};
            clientModel.addRow(data1);
            phoneList.getColumnModel().getColumn(0).setCellRenderer(new MyRenderer());
        }

  • Why are pages I add all on the right of center?

    I really don't understand why the pages I add are now added to the right of center. It just started happening for no reason that I can find. All of the other pages, when added, one adds on the left and one on the right of center. Can someone please help me understand what I can do? Thanks!

    I would like to clarify that pages are adding to the right of the "binding spine." I am still hoping somone might have a suggestions. I just can't find the problem.

  • There are ads that come up on the right side and bottom of websites when I use Firefox on my computer- right now it seems to be one Windows computer

    When I use Firefox on a Windows based computer a side "ad" bar comes up on the right side(if looking at the computer) and one comes up on the bottom that offers other searches similar to the website I am on.

    Can you attach a screenshot?
    *http://en.wikipedia.org/wiki/Screenshot
    *https://support.mozilla.org/kb/how-do-i-create-screenshot-my-problem
    Use a compressed image type like PNG or JPG to save the screenshot.
    Do a malware check with some malware scanning programs on the Windows computer.<br />
    Please scan with all programs because each program detects different malware.
    Make sure that you update each program to get the latest version of their databases before doing a scan.
    *Malwarebytes' Anti-Malware:<br>http://www.malwarebytes.org/mbam.php
    *SuperAntispyware:<br>http://www.superantispyware.com/
    *Microsoft Safety Scanner:<br>http://www.microsoft.com/security/scanner/en-us/default.aspx
    *Windows Defender: Home Page:<br>http://www.microsoft.com/windows/products/winfamily/defender/default.mspx
    *Spybot Search & Destroy:<br>http://www.safer-networking.org/en/index.html
    *Kasperky Free Security Scan:<br>http://www.kaspersky.com/security-scan
    You can also do a check for a rootkit infection with TDSSKiller.
    *http://support.kaspersky.com/viruses/solutions?qid=208280684
    See also:
    *"Spyware on Windows": http://kb.mozillazine.org/Popups_not_blocked

  • How to get the selected rows & columns in the table?

    hi everybody,
                         In my application the table is kept inside the event structure.I select the cells  in the table (using mouse) on running time.How to get the selected number of rows & columns in that table?

    Hello,
    You can fill selected values of the table by writing to it or the corresponding property using a property node - the table is just a 2D array of strings.  I think for your "disable" question you are referring to the shortcut menu (when you right click).  If you are using LabVIEW 8.x, you can edit or disable that shortcut menu - just right click on your table at edit time and choose Advanced >> Run-Time Shortcut Menu.
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • When saving a bookmark, only three of my folders are shown, though I have many ... how can I save into a different folder?

    I have several different bookmark folders, but when I want to save into one of them only three are shown ... always the same three, and no apparent reason for only these to be chosen. I cannot get the complete list by using the right-hand down arrow, and "choose" doesnt show any of my own folders, only Unsorted Bookmarks and Bookmarks Menu. I have to save the bookmark into unsorted, then move it into the desired folder. How can I do this in one step?

    I have several different bookmark folders, but when I want to save into one of them only three are shown ... always the same three, and no apparent reason for only these to be chosen. I cannot get the complete list by using the right-hand down arrow, and "choose" doesnt show any of my own folders, only Unsorted Bookmarks and Bookmarks Menu. I have to save the bookmark into unsorted, then move it into the desired folder. How can I do this in one step?

  • How do I retain the default 3 column sort order in a standard report

    I have a standard (not interactive) report of about 12 columns in which I set column 1 as the primary sort, column 2 as the second sort within that and column 3 as another sort within 1&2. I have also made other columns sortable by the user. However, once a sort is done by the user on one of the other columns, the default sort order never seems to come back, even if the application is closed. Is there something I need to set?

    Standard report sort columns are stored persistently as user preferences. The <tt>apex_util.remove_sort_preferences</tt> method can be used to remove them, resetting reports to the default sort order. However this is not a precision instrument: it removes the user's sort preferences for all reports...
    It is possible to remove the sort preference for individual reports using the <tt>apex_util.remove_preference</tt> method by reverse engineering the required sort preference name from the admin user preference report, but I wouldn't recommend it. I recently worked on an application where this had been done for one report, but we removed this "feature" as: (1) no one could remember why it had been done in the first place; (2) it was completely inconsistent with the behaviour of the other app reports; (3) the implementation was Byzantine (get non-obvious pref value and have page re-request itself with additional parameters) and lead to (4) poor page performance.
    Unless users are jumping up and down demanding this I'd stick to the status quo...
    (Please update your forum profile with a better handle than "user719232".)

  • Formatting the total row column for a OATableBean

    Hi,
    I have an OATableBean with total row column.
    I need to format one column and it's total value as 28,861.972528.
    I used both codes below:
    1-
    Formatter formatter = new OADecimalValidater("###,###,##0.00000;-###,###,##0.00000", "###,###,##0.00000;-###,###,##0.00000");
    OAMessageStyledTextBean unitBean = (OAMessageStyledTextBean)webBean.findChildRecursive("UnitLandedCost");
    if(unitBean != null)
    unitBean.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);
    2-
    DictionaryData unitBeanFormat = (oracle.cabo.ui.data.DictionaryData)tableColumnFormats.getItem(pageContext.findChildIndex(tableBean, "UnitLandedCost"));
    f(unitBeanFormat != null)
    unitBeanFormat.put(ON_SUBMIT_VALIDATER_ATTR, formatter);
    Both codes worked for the values, but the total value was not formatted in both cases. I tried to use the code below to get the column Footer, but the tableFooterBean is null:
    OATableFooterBean tableFooterBean = (OATableFooterBean)tableBean.getColumnFooter();
    Is there anything else that should be done to format the total value?
    Thanks and Regards,
    Andrea

    As Tapash mentioned getTotalValues method will work. Another option can be to calculate the total value based on the rows of VO but that won't be required unless you are looking for Grand Total functionality.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Just changed HD, saved ff bookmarks from previous, how to reload them into the new ff i just downloaded?????

    just changed my HD. using XP. before the change, i saved the bookmarks to a file. i just put that file onto my desktop and can't figure out how to reload all of my previous bookmarks into the new firefox. when i do a search under desktop, that file isn't listed to import.
    what to do?

    See also:
    *http://kb.mozillazine.org/Backing_up_and_restoring_bookmarks_-_Firefox
    <br />
    Make sure that the backup file with the bookmarks has the correct file extension: .html for a HTML backup and .json for a JSON backup.<br />
    You can check that via the right-click context menu of that file and open the Properties.<br />
    If you are not sure about the file type then you can open the file in Firefox via "File > Open File"<br />
    A JSON backup will show as one long text line without line breaks and a HTML backup as a web page with clickable links.
    A JSON backup starts with: <b><nowiki>{"title":"","id":1,"dateAdded":</nowiki></b><br />
    An HTML backup starts with: <b><nowiki><!DOCTYPE NETSCAPE-Bookmark-file-1></nowiki></b>
    Add quotes ("") around the name to rename the file to the correct file extension if the current file extension is hidden or if it is otherwise not working.

  • Lock the first row in an ordered table

    Hi,
    I have a table (TD_EVENTOS). I want to lock the row with te minimun value of a column (a timestamp called hora_evento) and some requirements of other columns. Then i build a cursor like this:
    CURSOR c is select * from td_eventos where (...) order by hora_evento for update skip locked;
    And then I make a fetch into this cursor and I get the row (locked) that I want. But i need the speedest way, and making that cursor it orders all rown in the table (when I only want the first row without lock) and when that table has 6000 or 7000 rows it wastes around 130 ms. My solution is to add to the WHERE a AND rownum < 50, and it only orders 50 rows (in 10 ms), but it orders 50 aleatory rows, and that`s not what I want.
    Any solution faster?
    Thanks!

    Sorry that wasn't clear of me and could be misleading. I didn't mean Oracle would have to do a full table scan, another access path such as an appropriate index scan would do. I was trying to get across that to do any kind of order or min or max, all records have to be investigated. Since the fact that you don't know a row is locked until you try to lock it, you clearly can't filter on it (it's not a data attribute).
    Apologies for any confusion my earlier post might have caused.
    The suggestion about using a sorted hash cluster still stands though, they are designed for FIFO queues.
    Which reminds me - SKIP LOCKED is in fact undocumented but everybody knows that Oracle use it internally for doing AQ. Since it's undocumented, you don't know how it works, when it will work, when it won't and of course Oracle can turn around and say "we don't support this".

  • XCelsius list view selection does not show values of the last row/column

    Hallo,
    I have a list view selction in EXcelsius 2008 and there it shows the whole data as it sould and the correct line is marked as selected. When I embedd the swf-File in Crystal Reports 2008 the values of the last column and the last row are empty and the wrong line is marked as selected. What to do?
    Thanks in advance for your help.
    kind regards
    Monika Anna

    .. okay, the area definition in the data manager was incorrect. Now it works ....

Maybe you are looking for