Beispiel #1
0
# test index
s = itk.index(reader)
assert s[0] == s[1] == 0
s = itk.index(reader.GetOutput())
assert s[0] == s[1] == 0

# test region
s = itk.region(reader)
assert s.GetIndex()[0] == s.GetIndex()[1] == 0
assert s.GetSize()[0] == s.GetSize()[1] == 256
s = itk.region(reader.GetOutput())
assert s.GetIndex()[0] == s.GetIndex()[1] == 0
assert s.GetSize()[0] == s.GetSize()[1] == 256

# test range
assert itk.range(reader) == (0, 255)
assert itk.range(reader.GetOutput()) == (0, 255)

# test write
itk.imwrite(reader, sys.argv[3])
itk.imwrite(reader, sys.argv[3], True)

# test read
image = itk.imread(filename)
assert type(image) == itk.Image[itk.RGBPixel[itk.UC], 2]
image = itk.imread(filename, itk.F)
assert type(image) == itk.Image[itk.F, 2]
image = itk.imread(filename, itk.F, fallback_only=True)
assert type(image) == itk.Image[itk.RGBPixel[itk.UC], 2]
try:
    image = itk.imread(filename, fallback_only=True)
Beispiel #2
0
# for all the z values
proj2D = itk.MaximumProjectionImageFilter.IUS3IUS2.New(mask, ProjectionDimension=1)
proj1D = itk.MaximumProjectionImageFilter.IUS2IUS2.New(proj2D, ProjectionDimension=0)
# binarize the image
th = itk.BinaryThresholdImageFilter.IUS2IUS2.New(proj1D, InsideValue=1)
# and count the pixels to get the resolution on the z axis
labelShape = itk.LabelShapeImageFilter.IUS2.New(th)
# count the object to display a warning
label = itk.ConnectedComponentImageFilter.IUS2IUS2.New(th)
relabel = itk.RelabelComponentImageFilter.IUS2IUS2.New(label)


for f in sys.argv[1:]:
    reader.SetFileName(f)
    projz.UpdateLargestPossibleRegion()
    m, M = itk.range(projz)
    watershed.SetLevel(m + (M - m) / 2)
    upperdim.SetNewDimensionSapcing(itk.spacing(reader)[2])
    upperdim.SetNewDimensionSize(itk.size(reader)[2])
    upperdim.UpdateLargestPossibleRegion()  # to get a valid number of labels

    # store the results so we can compute the mean and the meadian for
    # all the beads in the image
    results = []

    for l in range(1, wrelabel.GetNumberOfObjects() + 1):
        selectedLabel.SetUpperThreshold(l)
        selectedLabel.SetLowerThreshold(l)
        proj1D.UpdateLargestPossibleRegion()
        m, M = itk.range(proj1D)
        th.SetLowerThreshold((M - m) / 2)
Beispiel #3
0
s = itk.index(reader)
assert s[0] == s[1] == 0
s = itk.index(reader.GetOutput())
assert s[0] == s[1] == 0

# test region
s = itk.region(reader)
assert s.GetIndex()[0] == s.GetIndex()[1] == 0
assert s.GetSize()[0] == s.GetSize()[1] == 256
s = itk.region(reader.GetOutput())
assert s.GetIndex()[0] == s.GetIndex()[1] == 0
assert s.GetSize()[0] == s.GetSize()[1] == 256


# test range
assert itk.range(reader) == (0, 255)
assert itk.range(reader.GetOutput()) == (0, 255)


# test write
itk.imwrite(reader, sys.argv[2])
itk.imwrite(reader, sys.argv[2], True)

# test read
image=itk.imread(fileName)
assert type(image) == itk.Image[itk.RGBPixel[itk.UC],2]
image=itk.imread(fileName, itk.F)
assert type(image) == itk.Image[itk.F,2]

# test search
res = itk.search("Index")
Beispiel #4
0
# let start, really
statisticsLabelMapRobustNuclei.Update()
shapeLabelMapNuclei.Update()
otsuNuclei.Compute()

if opts.visualValidation:
  padLabels.SetRegion( readerNuclei.GetOutput().GetLargestPossibleRegion() )

if opts.saveSegmentation:
  itk.write( labelRobustNuclei, readerNuclei.GetFileName()+"-nuclei-segmentation.nrrd", True)

# to be reused later
spacing = itk.spacing(readerNuclei)

# find the labels used - we are not sure to have all the labels in the range because of the attribute openongs
ls = [l+1 for l in range(*itk.range(labelRobustNuclei)) if statisticsLabelMapRobustNuclei.GetOutput().HasLabel(l+1)]

for l in ls :
  if opts.verbose:
    print >> sys.stderr, "  nuclei", l
  
  # set the label
  singleMaskNuclei.SetUpperThreshold( l )
  singleMaskNuclei.SetLowerThreshold( l )
  cropSingleMaskNuclei.SetLabel( l )
  cropSingleMaskRobustNuclei.SetLabel( l )
  
  cropSingleMaskNuclei.UpdateLargestPossibleRegion()
  cropStatisticsLabelMapRobustNuclei.SetRegion( cropSingleMaskNuclei.GetOutput().GetLargestPossibleRegion() )
  
  maskNucleiWap.SetLabel(l)