U. S. Government Work, Performed at the Baltimore VA Medical Center, 1994.
Moore GW, Berman JJ, Moore GW, Brown LA.
Fill in eight or fewer histogram bars (LEFT=ABSCISSA,
RIGHT=ORDINATE), and click on SUBMIT.
An unfilled box is ignored by the program.
A default histogram is provided as an example.
This demonstration version only permits eight bars in the histogram.
Software for Image Segmentation and Analysis in Pathology (ISAP)
U. S. Government Work, Performed at the Baltimore VA Medical Center, 1994.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP, version 2, is an image display and analysis software application
developed at the Baltimore Veterans Affairs Medical Center and available at
no cost to pathologists, including executable file and source code in
Microsoft(R) Visual Basic. Users interactively surround cells of interest
using a mouse. In version 2, ISAP permits a choice of methods for smoothing,
thresholding, and edge detection. ISAP thresholds the enclosed image, either
manually by preselecting a grayvalue threshold or percentage threshold, or
automatically according to an algorithm published previously by the authors.
ISAP quantitates nuclear features, including measurements of nuclear size
(area, summed optical densities, greatest diameter, least diameter);
nuclear rim shape (ratio of greatest-to-least diameter, perimeter, contour,
fractal dimension); and chromatin texture (standard deviation of optical
density, histogram of optical densities). Cytologic measurements are saved
in an external database that can be uploaded into commercially available
spreadsheet applications for statistical analysis of cell populations.
ISAP uses Targa or Windows (.BMP) image formats, and operates
on IBM-compatible computers with at least 5 MB hard drive memory,
Microsoft(R) Windows v. 3.1 or higher, and 256-color display.
To test the robustness of ISAP algorithms, we performed image analysis
on 20 normal intermediate cell nuclei at 40x magnification from
Papanicolaou-stained cytology smears of the uterine cervix and vagina.
Each cell-image was captured as a black-and-white image on a grid
of 756 x 486 pixels, with 256 gray-levels per pixel. For each cell,
we obtained 10 measurements in focus, and 10 measurements apiece with
the stage lowered by 0.1 mmm from the in-focus position, for a total
of 400 image-analyses. Area and perimeter were compared by one-way analysis
of variance, and were not statistically different in the two focal planes.
Results suggest that ISAP is a robust image analysis application, which
permits repeatable descriptors for nuclear area and shape in cytologic
image analysis.
The x-axis of the HISTOGRAM is divided at all points, and a Student t
pooled standard error is calculated for the left and right histograms
at every point, or DIVIDER, as follows.
Actually, it suffices to calculate the Student t pooled variance
at each divider. For each possible divider for left and right histograms,
let NL represent the number of points
(i.e., the sum of the histogram-bars) on the left histogram,
NR represent the number of points on the right histogram,
and NC represent the number of points on the combined histogram.
Then NC = NL + NR.
Let x be the abscissa-value (horizontal axis)
and y be the ordinate-value (vertical axis) of each bar on each histogram.
Let SxL=§(xL*yL) represent
the sum of the left histogram bars (where § represents summation
and * represents multiplication);
let QxL=§(xL*xL*yL)
represent the sum of squares of the left histogram bars;
let SxR and let QxR be analogously defined
for the right histogram bars, and SxC and QxC
be analogously defined for the combined histogram bars.
Then the variance, VL, of the left histogram is:
VL = (QxL-((SxL*SxL)/NL))/(NL-1).
Let VR and VC be analogously defined.
The Student t pooled variance, VP,
for the left and right histograms is:
VP =(VL*(NL-1) +
VR*(NR-1))/(NC-1).
Likewise, the Student t pooled standard error, EP,
for the left and right histograms is:
EP = SQRT(VP/NC).
The MINIMUM POOLED VARIANCE, and therefore the
MINIMUM POOLED STANDARD ERROR, is obtained at the DIVIDER,
and designated with a YELLOW BAR on the HISTOGRAM.
If the minimum pooled variance, VP,
is divided by the combined variance, VC, then we obtain
the VARIANCE RATIO, VR, where
VR = VP/VC.
The variance ratio tends toward a value of 0.38
for large samples from the normal distribution.
REFERENCES.
1.
Berman JJ, Moore GW, Brown LA.
ISAP v.2: Software for image segmentation and analysis in pathology.
http://www.netautopsy.org/isaptwoo.htm
2.
Moore GW, Berman JJ, Sydnor DL.
Fractal dimension for pathology images,
a repeatable and quantitative measurement
of nuclear rim irregularity.
Am J Clin Pathol 102:538, 1994.
http://www.netautopsy.org/ascpfrac.htm
3.
Moore GW, Berman JJ, Moore GW, Brown LA.
Software for image segmentation and analysis in pathology (ISAP):
public domain image software and source code developed at the Baltimore
VA Medical Center.
Am J Clin Pathol 102:538-539, 1994.
http://www.netautopsy.org/ascpisap.htm
4.
Moore GW, Berman JJ, Sydnor DL.
Automated edge detection in image analysis:
distinguishing the nucleus from the
cytoplasm without a user's threshold estimate.
Am J Clin Pathol 102:539, 1994.
http://www.netautopsy.org/ascpedge.htm
5.
Berman JJ.
http://www.pathinfo.com
Scroll to the bottom of the page,
and click on PERL FOR PATHOLOGISTS.
6.
Moore GW, Berman JJ, Moore GW, Brown LA.
Welcome to ISAP.
http://www.medparse.com/isapwlcm.htm
7.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP Edge Detection Menu.
http://www.medparse.com/isapedge.htm
8.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP Histogram Menu.
http://www.medparse.com/isaphist.htm
9.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP Values Menu.
http://www.medparse.com/isapvalu.htm
10.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP Troubleshooting Menu.
http://www.medparse.com/isaptrub.htm
11.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP Microsoft(R) Visual Basic Source Code.
http://www.medparse.com/isapsour.htm
12.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP Formulas.
http://www.medparse.com/isapform.htm
13.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP copyright and licensure agrement.
http://www.medparse.com/isapcopr.htm
14.
Moore GW, Berman JJ, Moore GW, Brown LA.
ISAP demonstration program and Perl source code.
http://www.medparse.com/isapver2.htm
PERL SOURCE CODE.
#!/usr/bin/perl
print "Content-type: text/html\n\n";
### (C) COPYRIGHT G. WILLIAM MOORE, 2003.
### isapver2.cgi: Image and Segmentation Analysis in Pathology, version 2.
### Last Updated: January 25, 2003, G. William Moore, MD, PhD.
###
### SET CONSTANT VALUES.
$crlf=chr(13).chr(10); $bks=chr(32);
###
### COLLECT ENVIRONMENTAL VARIABLES.
$getquerystring=($ENV{'QUERY_STRING'}); $searchstdin=<STDIN>;
if($searchstdin eq ""){$searchstdin=$getquerystring;};
$tdatx=`date -u`; chomp($tdatx);
$tdatx=~s/ GMT / /gi; $tdate=$tdatx; $thisdate=$tdatx;
###
### PRINT HTML HEADER AND TITLE.
print qq|<html><head><title> Image Segment Analysis Pathology </title></head> |;
print qq|\n<body><!-- Last Updated: January 25, 2003, G. William Moore, MD, PhD. --> |;
###
### DISPLAY TITLE AND COPYRIGHT NOTICE.
print qq|\n <center><h2> Image and Segmentation Analysis |;
print qq|\n <br> in Pathology (ISAP). |;
print qq|\n <br><br> DRAFT COPY ONLY. </h2> |;
print qq|\n <b> © 2003, G. William Moore, MD, PhD. |;
print qq|\n <br> All rights reserved. </center></b> |;
###
### PRINT DATE AND TIME, GREENWICH MEAN TIME (ZULU).
print qq|\n <br> Analysis Requested at: $tdate, Greenwich Mean Time (Zulu).|;
###
### PARSE THE QUERY STRING.
($strlo,$nxthi)=split(/abs01=/,$getquerystring,2);
($abs01,$nxthi)=split(/\&ord01=/,$nxthi,2);
($ord01,$nxthi)=split(/\&abs02=/,$nxthi,2);
($abs02,$nxthi)=split(/\&ord02=/,$nxthi,2);
($ord02,$nxthi)=split(/\&abs03=/,$nxthi,2);
($abs03,$nxthi)=split(/\&ord03=/,$nxthi,2);
($ord03,$nxthi)=split(/\&abs04=/,$nxthi,2);
($abs04,$nxthi)=split(/\&ord04=/,$nxthi,2);
($ord04,$nxthi)=split(/\&abs05=/,$nxthi,2);
($abs05,$nxthi)=split(/\&ord05=/,$nxthi,2);
($ord05,$nxthi)=split(/\&abs06=/,$nxthi,2);
($abs06,$nxthi)=split(/\&ord06=/,$nxthi,2);
($ord06,$nxthi)=split(/\&abs07=/,$nxthi,2);
($abs07,$nxthi)=split(/\&ord07=/,$nxthi,2);
($ord07,$nxthi)=split(/\&abs08=/,$nxthi,2);
($abs08,$nxthi)=split(/\&ord08=/,$nxthi,2);
($ord08,$nxthi)=split(/\&bx=/,$nxthi,2);
if(($abs01 ne "")&&($ord01 ne "")){$abs[1]=$abs01-0; $ord[1]=$ord01-0;};
if(($abs02 ne "")&&($ord02 ne "")){$abs[2]=$abs02-0; $ord[2]=$ord02-0;};
if(($abs03 ne "")&&($ord03 ne "")){$abs[3]=$abs03-0; $ord[3]=$ord03-0;};
if(($abs04 ne "")&&($ord04 ne "")){$abs[4]=$abs04-0; $ord[4]=$ord04-0;};
if(($abs05 ne "")&&($ord05 ne "")){$abs[5]=$abs05-0; $ord[5]=$ord05-0;};
if(($abs06 ne "")&&($ord06 ne "")){$abs[6]=$abs06-0; $ord[6]=$ord06-0;};
if(($abs07 ne "")&&($ord07 ne "")){$abs[7]=$abs07-0; $ord[7]=$ord07-0;};
if(($abs08 ne "")&&($ord08 ne "")){$abs[8]=$abs08-0; $ord[8]=$ord08-0;};
###
### CALCULATE TOTAL SUM OF SQUARES.
print qq|\n <br><pre> HISTOGRAM: ABSCISSA ORDINATE |;
$iab=0; $nabs=0; $sabs=0; $qabs=0; while($iab<8){$iab++;
if($abs[$iab] ne ""){if($ord[$iab]>0){$abi=$abs[$iab]; $ori=$ord[$iab];
print qq|\n $abs[$iab] $ord[$iab] |;
$nabs=$nabs+$ori; $sabs=$sabs+($abi*$ori);
$qabs=$qabs+($abi*$abi*$ori); $absn[$iab]=$nabs; $abss[$iab]=$sabs;
$absq[$iab]=$qabs;};};};
if($nabs>0){$tss=($qabs-(($sabs*$sabs)/$nabs));};
print qq|\n</pre> |;
###
### IF ZERODIVIDE, ERROR MESSAGE.
if($nabs<1){
print qq|\n <br> ZERODIVIDE DETECTED. JOB ABORTED. |;
print qq|\n <br><br><br><hr> |;
print qq|\n<br>Last Updated: January 25, 2003, G. William Moore, MD, PhD.|;
print qq|\n <br><br><br></body></html> \n\n\n |; exit;};
###
### CALCULATE LEFT, RIGHT SUM OF SQUARES.
$iab=1; $mvr=99; while($iab<7){$iab++;
if($abs[$iab] ne ""){$ln=$absn[$iab]; $ls=$abss[$iab]; $lq=$absq[$iab];
$rn=$nabs-$ln; $rs=$sabs-$ls; $rq=$qabs-$lq;
$iss=$lq+$rq-(($ls*$ls)/$ln)-(($rs*$rs)/$rn);
$ivr=$iss/$tss; $vrto[$iab]=$ivr;
if($ivr<$mvr){$mvr=$ivr; $div=$iab+0.5;};};};
###
### PRINT MINIMUM DIVIDER.
print qq|\n <br> MINIMUM DIVIDER: $div |;
print qq|\n <br> VARIANCE RATIO AT MINIMUM DIVIDER: $mvr |;
###
### PRINT TRAILER.
###
print qq|\n <br><br><br><hr> |;
print qq|\n<br>Last Updated: January 25, 2003, G. William Moore, MD, PhD.|;
print qq|\n <br><br><br></body></html> \n\n\n |; exit;
Last Updated: January 26, 2003, by G. William Moore, MD, PhD.