コード例 #1
0
ファイル: agrobi-site2-cenp.py プロジェクト: glehmann/agrobi
    self.connect(itk.LabelImageToLabelMapFilter[ImageType, LabelMapType].New())
    
    # now we can parse the inputs
    itk.set_inputs(self, args, kargs)

ClosestDilateLabelMapFilter = itk.templated_class(ClosestDilateLabelMapFilter)
ClosestDilateLabelMapFilter.add_image_templates(itk.INTS, itk.REALS)


#nucleiFileName = "gml16_dapi_1_nuclei.nrrd"
#inputFileName = "gml16_cenp-fitc_dapi_1.zvi"
nucleiFileName = sys.argv[1]
inputFileName = "gml16_cenp-fitc_dapi_%s.zvi" % nucleiFileName[11:-12]

# read the images
cenp = itk.bioformats(inputFileName, ImageType=itk.Image.US3)
nuclei = itk.ImageFileReader.IUC3.New(FileName=nucleiFileName)

# remove the background before masking the image, in case large background outside the nuclei leak inside the nuclei
cenpmedian = itk.MedianImageFilter.IUS3IUS3.New(cenp, Radius=[1, 1, 0])
# add a gaussian filter after the median?
sopening = itk.PhysicalSizeOpeningImageFilter.IUS3IUS3.New(cenpmedian, Lambda=0.2)
sub = itk.SubtractImageFilter.IUS3IUS3IUS3.New(cenpmedian, sopening)

# and dilate the nuclei to be sure to not truncate the spots
dilate = ClosestLabelDilateImageFilter.IUC3IF3.New(nuclei, Kernel=itk.strel(3,[3,3,0]))
# translate the masks to label objects
li2lm = itk.LabelImageToStatisticsLabelMapFilter.IUC3IUS3LM3.New(dilate, sub) 
lmNuclei = li2lm
lmNuclei()
コード例 #2
0
ファイル: evf.py プロジェクト: glehmann/analysis
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itk, sys, traceback
from ExtraData import ExtraData
itk.auto_not_in_place()

nucleusReader = itk.ImageFileReader.IUC3.New()
centromeresReader = itk.ImageFileReader.IUC3.New()
centromeresIntReader = itk.bioformats()

nucleusLM = itk.LabelImageToShapeLabelMapFilter.IUC3LM3.New(nucleusReader)

singleNucleusLM = itk.LabelSelectionLabelMapFilter.LM3.New(nucleusLM, InPlace=False)
binaryNucleus = itk.LabelMapToBinaryImageFilter.LM3IUC3.New(singleNucleusLM, ForegroundValue=0, BackgroundValue=255)
maurerSingleNucleus = itk.SignedMaurerDistanceMapImageFilter.IUC3IF3.New(binaryNucleus, UseImageSpacing=True, SquaredDistance=False)
evfSingleNucleus = itk.ErodedVolumeFractionMapImageFilter.IF3IF3.New(maurerSingleNucleus)

maskedCentromeres = itk.LabelMapMaskImageFilter.LM3IUC3.New(nucleusLM, centromeresReader)
centromeresLM = itk.LabelImageToStatisticsLabelMapFilter.IUC3IUC3LM3.New(maskedCentromeres, centromeresIntReader)

def interpolate(image, pos):
  li = itk.LinearInterpolateImageFunction.IF3D.New(image)
  return li.Evaluate( pos )

extra = ExtraData(sys.argv[1], sys.argv[2:],
          {"nucleus-ext": "-nuclei.nrrd",
           "spots-ext": "-CENP.nrrd",
           "spots-are-labeled": "true",
           "rawspots-ext": "",
           "rawspots-channel": "0"})