{
  "abstract": "We have previously developed an algorithm for locating boundaries in an image with sub-pixel resolution, as well as estimating boundary width and image intensity within the adjoining objects. The algorithm operates by finding the parameters of a cumulative Gaussian curve that best approximates an intensity profile taken across a boundary. If intensity is sampled along the image gradient across a boundary, it is reasonable to assume the profile approximates a finite portion of a cumulative Gaussian. Given that assumption, the first derivative of the profile should be the corresponding portion of a Gaussian, completely described by its mean, standard deviation, and amplitude. We present here a simple and rapid method to find those parameters, given that we only have a potentially skewed sample of the Gaussian. The parameters are approximated first for the finite sample, and then both ends of the Gaussian are extrapolated using the resulting parameters. New parameters are then calculated and the procedure is repeated. The optimization rapidly converges, yielding boundary location (mean) with sub-pixel accuracy as well boundary width (standard deviation). Integration then reproduces the cumulative Gaussian, and a least-squares fit is applied to estimate the constant of integration, from which intensity of the adjoining regions can be estimated.",
  "authors": [
    {
      "author_fullname": "Wang, David",
      "author_place": 1,
      "persona_email": "david@wangmd.com",
      "persona_firstname": "David",
      "persona_id": 104,
      "persona_lastname": "Wang"
    },
    {
      "author_fullname": "Tamburo, Robert",
      "author_place": 2,
      "persona_email": "robert.tamburo@gmail.com",
      "persona_firstname": "Robert",
      "persona_id": 59,
      "persona_lastname": "Tamburo"
    },
    {
      "author_fullname": "Stetten, George",
      "author_place": 3,
      "persona_email": "email@stetten.com",
      "persona_firstname": "George",
      "persona_id": 111,
      "persona_lastname": "Stetten"
    }
  ],
  "categories": [],
  "comments": [],
  "date_submitted": "2005-08-05T21:30:12Z",
  "journals": [
    {
      "journal_id": 3,
      "journal_name": "The Insight Journal"
    }
  ],
  "license": "You are licensing your work to Kitware Inc. under the\nCreative Commons Attribution License Version 3.0.\n\nKitware Inc. agrees to the following:\n\nKitware is free\n * to copy, distribute, display, and perform the work\n * to make derivative works\n * to make commercial use of the work\n\nUnder the following conditions:\n\\\"by Attribution\\\" - Kitware must attribute the work in the manner specified by the author or licensor.\n\n * For any reuse or distribution, they must make clear to others the license terms of this work.\n * Any of these conditions can be waived if they get permission from the copyright holder.\n\nYour fair use and other rights are in no way affected by the above.\n\nThis is a human-readable summary of the Legal Code (the full license) available at\nhttp://creativecommons.org/licenses/by/3.0/legalcode",
  "publication_id": 37,
  "reviews": [
    {
      "author": {
        "author_email": "gavinb@cs.mu.oz.au",
        "author_firstname": "Gavin",
        "author_id": 8,
        "author_lastname": "Baker"
      },
      "content": "<b>Summary:</b>\r\n\r\nThe stated aim is to determine the location of the boundary between two different tissue types in a medical image at a \r\nsub-pixel resolution. The authors present an optimisation technique that fits a cumulative Gaussian curve to a set of \r\nsample points (intended to represent such a curve). The parameters calculated should then match the data, such that \r\nthe mean (mu) of the Gaussian can be used to determine the boundary point. This is demonstrated by generating a \r\ncurve (possibly adding noise) and sampling it, then passing this to the optimiser to fit.\r\n\r\n<b>Hypothesis:</b>\r\n\r\nThe hyopthesis is that a cumulative Gaussian can be fitted to an intensity profile to determine the location of a \r\nboundary between two tissue types. It assumes that the intensity profile of this boundary can be modelled by a \r\ncumulative Gaussian function, and furthermore that there exists a unique boundary that can be found by the profile.\r\n\r\n<b>Evidence:</b>\r\n\r\nThe authors present results from testing on several generated curves. It shows how the RMS error (between the fitted \r\nand known parameters) for the curves tested goes rapidly to almost zero within a small number of iterations. This \r\nsupports the claim that their optimiser can fit a CG curve to a set of points derived from a 1D profile.\r\n\r\nNo evidence is presented (citation or data) to support the claim of the intensity profile being modelled by a Gaussian, \r\nor that this can be applied to images.\r\n\r\n<b>Open Science:</b>\r\n\r\nThe paper follows the tenets of Open Science; the source is provided, and the paper describes the algorithm as \r\nimplemented. The technique has not yet been applied to images, so there is no data to accompany it. All the \r\nparameters were provided to enable the reader to replicate the results presented in the paper.\r\n\r\n<b>Reproducibility:</b>\r\n\r\nI downloaded the code as supplied, and built it under Debian GNU/Linux on a Pentium 4 machine, using g++ 3.3.5, ITK \r\nCVS, VTK 4.2, FLTK 1.1. Apart from a few warnings, it built and ran fine.\r\n\r\nI ran the application with the default parameters, and it worked fine. Testing with a range of values seemed to \r\nproduce the expected results, and a good fit. One combination managed to cause a segfault (didn't manage to record \r\nthe settings).\r\n\r\n<b>Test Results</b>\r\n\r\nRunning with mu=5, sigma=2, I1=0, I2=100, samples=10, noise=[-1,1]: output information not displayed in GUI, but \r\nplot is displayed and fit looks very close. Mean fit error=0.0718168. Over 10 repeated runs, this would usually \r\nimprove to RMS fit error of 0.6, but occasionally the RMS error would increase and stabilise higher than the initial \r\nvalue.\r\n\r\nRunning with mu=10, sigma=5, I1=120, I2=900, samples=10, noise=[-10,10]: Fit error converges to about 6 after \r\naround 40 iterations. Mean error 2.78059. However Fitted mean=7.21941, fitted sigma=3.68412, fitted I1=121.483, \r\nfitted I2=589.68. The Upper asymptote is significantly out, despite fairly low overall fit error. These values of intensity \r\nare common for tissue-bone boundary, and are thus representative of real images.\r\n\r\n<b>Use of Open Source Software:</b>\r\n\r\nThe authors use the well-known combination of FLTK for the GUI and VTK for the charts. They do not discuss the \r\nimplementation or use of these libraries.\r\n\r\n<b>Open Source Contributions:</b>\r\n\r\nThe source was provided for the algorithm itself, in the style of an ITK algorithm. The primary class has already been \r\nsubmitted to ITK. This was accompanied by an FLTK/VTK application front-end to exercise the filter and plot the \r\nresults. It was immediately usable for testing once built.\r\n\r\n<b>Code Quality:</b>\r\n\r\nThe code was generally readable and well-laid out. It tends to follow the conventions used in ITK and in the \r\nITKApplications suite, and was easily built on a Linux box with appropriate libraries installed. It seems to be fully \r\nportable.\r\n\r\n<b>Applicability to other problems:</b>\r\n\r\nThe solution is in a sense a very general one, in that it provides a particular type of curve-fitting algorithm for a \r\ncumulative Gaussian. It could potentially be used in many statistical analysis problems. It may need to be developed \r\nfurther to see just where else it could be applied in image analysis.\r\n\r\n<b>Suggestions for future work:</b>\r\n\r\nThe conclusion mentions future work in segmentation based on boundary profiles. In terms of ITK, clearly the most \r\nimportant step is demonstrating this approach on real image data. Also, perhaps some of the work of Pizer et al with \r\ncores could be relevant here.\r\n\r\n<b>Requests for additional information from authors:</b>\r\n\r\nGiven the results of this fitting (sigma, mu, etc) how do you calculate the actual boundary location?\r\n\r\nHow do you <b>know</b> the result is sub-pixel? What about scale issues and partial volume effect?\r\n\r\nHow are p1 and p2 (the sampling region) determined? How does this effect the optimization process?\r\n\r\nError function? How is the erf table generated? It would be useful to include at least the formula showing how they \r\nwere calculated.\r\n\r\n<b>Additional Comments:</b>\r\n\r\nOnly a single paper is cited as related work (written by one of the coauthors). It would help to have the work placed in \r\nthe context of other related boundary finding techniques, showing how this approach differs.\r\n\r\nThis technique as described seems to only be applicable to a 1-Dimensional image intensity profile. The issue of first \r\ndetermining the orientation of the profile is not addressed, and thus cannot be directly applied to boundary analysis in \r\n2D or 3D images. As it stands it is assuming that there is a unique boundary point to be found, which may be in 1D but \r\nis only possible <i>for a given orientation at a given point</i> in 2D or 3D.\r\n\r\nThe Cumulative Gaussian appears to well describe the blurred intensity profile at the implicit boundary of two tissue \r\ntypes. However no mention is made of the Partial Volume Effect. It is not clear that this approach can afford to ignore \r\nthe PVE. Implicit in the selection of I_1 and I_2 is the fact that it must be chosen at sufficient distance from the \r\nboundary itself as to prove representative of the plateau intensity.\r\n\r\nIt would be interesting to explore the issue of scale also; say the ratio of the intensity delta (between I1 and I2) to the \r\nvoxel size. Perhaps skewness and kurtosis play a part here. You mention skew in the abstract but don't address it \r\ndirectly in the body. Is the boundary <i>always</i> symmetric? Given there will always be a finite sampling \r\nfrequency for any acquisition device, the tyranny of Nyquist's theorem places a limit on the smallest feature we can \r\nresolve. Size of point-spread function?\r\n\r\nThere is minimal analysis of the results and their implications. Section 5 talks about mu in terms of \"skew\", which one \r\nwould ordinarily associate with asymmetry of the curve tails. This is also confusing since mu is supposed to represent \r\nthe tissue boundary position.\r\n\r\nThe technique is not tested on either synthetic or real images. It would be great to see this applied to some real image \r\ndata. Or even a synthesised boundary (say between tissue and bone for CT) with noise and blurring added for good \r\nmeasure.\r\n\r\nOne of the stated assumptions is that the implicit boundary is essentially a step-function; that the actual tissue \r\nobserved transitions at one point from I1 to I2 (or asymptotically close). Sigma is equated with the boundary \"width\", \r\nbut really 1 standard deviation is only going to be 37% (or whatever the figure is) of the way to 1 (either plateau).\r\n\r\nThe algorithm attempts to estimate I1 and I2, the intensities of the two regions. But this is a given, surely? It is in the \r\nimage data, only determined by sigma, or the \"width\" of the boundary.\r\n\r\nNot sure about about discrete sampling - check Insight into Images.\r\n\r\nI think it would be a much stronger demonstration of the technique if it were applied to a simulated edge profile for \r\nvalidation. Since the only experiment is fitting a G curve to a G curve, it doesn't directly address the hypothesis that \r\nthis can find the boundary edge. Beginning with a 1D profile, two intensity levels could be chosen, and a random point \r\nchosen for the boundary. Then to simulate the mixture of the two intensities about the boundary, apply a smoothing \r\nfilter of an appropriate kernel size/scale. Finally the boundary position could be calculated from mu and compared with \r\nthe original known position.\r\n",
      "date": "09-16-2005",
      "review_id": 82
    }
  ],
  "revisions": [
    {
      "article": "bafkreibwqy4ecbm6s2zh7p27go5ertyp5dvatiizig623wjeudtspx3yr4",
      "citation_list": [
        {
          "doi": "10.1142/s0219467801000360",
          "key": "ref1",
          "score": 104.32166,
          "unstructured": "Gradient-Oriented Profiles for Automated Unsupervised Boundary Classification and their Application to Core Atoms Towards Shape Analysis+International Journal of Image and Graphics+1+4+659+680+2001+R. Tamburo"
        }
      ],
      "dapp": null,
      "dataset": null,
      "doi": "10.54294/jd5eba",
      "handle": "1926/45",
      "source_code": "bafybeifgh6vrejse4jpvanbvf7wzu7vkemifana4fooe22fi5kxz2xsuda",
      "source_code_git_ref": null
    }
  ],
  "source_code_git_repo": null,
  "submitted_by_author": {
    "author_email": "david@wangmd.com",
    "author_firstname": "David",
    "author_fullname": "Wang, David",
    "author_id": 104,
    "author_institution": "University of Pittsburgh",
    "author_lastname": "Wang"
  },
  "tags": [
    "Cumulative Gaussian",
    "Optimization",
    "Image Analysis",
    "Boundary Detection"
  ],
  "title": "Cumulative Gaussian Curve Fitter for Boundary Parameterization"
}