Seg2Dgel Program Status

The following are known bugs, suggested features, functions that are being debugged or being developed. Documentation for resolved bugs is found in the revision history Web page.


Known Bugs Known bugs

The neumonic GGGR is shorthand for "Grep, Get Gestault and Refactor".

  • V.0.0.12 06-04-2004: Note that a lot of memory is required for very large images.

  • V.0.0.12 06-04-2004: Background image is sometimes not being computed correctly for images without a calibration.

  • V.0.0.8 05-05-2004: There is no bounds checking (yet) when using the threshold sliders in pairs in the Options Window so that for a paired switch such as -thrArea:a1,a2, it is possible for the user to set a2 < a1 slider values. So be careful in using the sliders until bounds checking is added.

  • V.0.0.5 04-27-2004: The DBUG_TEST_IMAGE option is currently enabled in this release which means it will reset the switches to a known state and ignore the Seg2Dgel.properties file for now when you start Seg2Dgel. You must explicitly change the options using the (Edit menu | Options | Edit Options) command to change options for now. Comand-line switches passed through the operating system are ignored while the DBUG_TEST_IMAGE is on.

  • V.0.0.5 04-27-2004: The spot splitting method for -splitSpot is not finished being refactored and debugged. It is disabled until then.

  • V.0.0.5 04-27-2004: The saturated spot method for -saturatedSpot is not finished being refactored and debugged. It is disabled until then.

  • V.0.0.5 04-27-2004: The method for -drawBoundary is not finished being refactored and debugged. Need to GGGR use of the FBL and hashFBL for the boundary bnd objects and check its reuse (is it unique?). Until then, boundaries are disabled switches until debugged and validated including -drawBoundary, -saturatedSpotPropagate:%threshold, and -splitSpot:(B | R | T),minCC

  • V.0.0.5 04-27-2004: Need to GGGR to optimize use of the FBL and and refactor its use in boundary analysis methods.

  • V.0.0.5 04-27-2004: Need to GGGR the Sg2rlm. Why do we need readRLM_CWfile() to do RLM I/O? Is this strictly for debugging?

  • V.0.0.5 04-27-2004: Need to GGGR Sg2bkg: in bkg.calcBackground(useBkgdAndIsolatedPixelFlag) use of the Sg2glb.bnd and multiple instances; also check if need to G.C. bnd.xxx in deleteBnd(). [GGGR] cvtFBLdataToBoundary() - what is interaction with global FBL and does it need separate FBL?

  • V.0.0.5 04-27-2004: Need to GGGR interaction of mer[xy][12] and merp[xy][12] variables.
    
    

    Suggested Features Suggested features

  • V.0.0.9 05-07-2004: [TODO] Allow resizing of text area view in the Image viewer window.

  • V.0.0.6 04-29-2004: [TODO] When finished debugging-pre-alpha version, remove the default data setup DBUG_TEST_IMAGE so there are no constraints on using any input gel image file data.

  • V.0.0.5 04-27-2004: For TIFF, JPEG or GIF color images, the RGB data is first mapped to grayscale using the NTSC color to grayscale transform (gray = 0.33*red + 0.50*green + 0.17*blue).

  • V.0.0.5 04-27-2004: Need to generate JPEG (.jpg) output images in place of current GIF (.gif) files.

  • V.0.0.5 04-27-2004: Need to GGGR sg2bkg, evaluate two ways of computing the background image. Currently only consider BKGRD_CODE pxiels. Also may want to also include ISOLATED_PIXEL_CODE pixels.

  • V.0.0.5 04-27-2004: Recode CC codes after more robust, do conversion coding scheme to 32-bit CC codes. This gets around possible (low liklihood) of CC code clashes. There are two alternate methods being considered:
     
    These PCC code values will change once we get the basic segmenter
    working so we can take advantage of 16-bit image data.  Model 1 is the
    current  8-bit model documented
    in the Reference Manual The new scheme might be:
    
    [Proposed model 2] PCC image coding scheme for 16-bit images 
    -------------------------------------------------------------
     BKGRD_CODE           0           - background pixel
     UNLABELED_CC_CODE    1           - unlabeled central core pixel
     MIN_CC_CODE          2           - minimum labeled central core pixel
     MAX_CC_CODE          29999       - maximum labeled central core pixel
     PCC_BASE_CODE        30000       - guard region splitting previously 
                                        merged spots
     MIN_PCC_CODE         30002       - min. labeled prop. central core pixel
     MAX_PCC_CODE         59999       - max. labeled prop. central core pixel
     KILL_SPOT_CODE       65534       - deleted spot in central core 
                                        if NEQ sizing (0 if -noDelete). 
     ISOLATED_PIXEL_CODE  65535       - isolated pixel or non 
                                        4-ngh connected pixel
     
    [Proposed model 3] PCC Design using a 32-bit fbl.cc value
    ---------------------------------------------------------
    
    This segmented PCC encoding model can handle more than 32K spots that
    Model 2 handles. If we will be using input data with more than 32K
    spots this may be a better model.  Instead of coding the CC and PCC by
    an offset, we allocate specific bits for setting/testing
    
       ISOLATED_PIXEL_MASK  01000   for isolated pixels (i.e. spots)
       KILL_SPOT_MASK       0400    for killed spots
       PCC_MASK             0200    for PCC pixels
    
    Then we use a segmented cc counter consisting of 
    
       ccSubId              0177 LSB
    
    This cycles in the range of either 2:99 or 1:127 (the former is
    easier to map to the CC image). This is added to the generation number
    
       ccGenNbr             22 most significant bits of 32-bit CC int word
    
    The ccGenNbr is incremented when the ccSubId cycles from 99 back to 2.
    2**22 is 4,194,304 so that should be large enough for any gel!
    GGGR all code to make the changes.
     
    Given a (int)cc, the three fields are decoded as:
     
       ccSubId   = (cc & 0177);
       ccGenNbr  = (cc >> 10);
       ccFullNbr =  (ccGenNbr << 7) | ccSubId;
     
    We can also continue using 
      BKGRD_CODE           0           - background pixel
      UNLABELED_CC_CODE    1           - unlabeled central core pixel
    where we just set all other bits to 0.
     
    ------------------------------------------------------
    |   ccGenNbr   | isolated | killed | PCC   | ccSubID |
    |              | pixel    | spot   |       |         |
    ------------------------------------------------------
        22-bits       1-bit     1-bit    1-bit    7-bits
    
    
    


    Contact us     Seg2Dgel is a contributed program available at open2dprot.sourceforge.net/Seg2Dgel          Revised: 10/04/2005