assert s[0] == s[1] == 1.0 # test origin s = itk.origin(reader) assert s[0] == s[1] == 0.0 s = itk.origin(reader.GetOutput()) assert s[0] == s[1] == 0.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
assert s[0] == s[1] == 1.0 # test origin s = itk.origin(reader) assert s[0] == s[1] == 0.0 s = itk.origin(reader.GetOutput()) assert s[0] == s[1] == 0.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[2]) itk.imwrite(reader, sys.argv[2], True)
obo3() dilate2 = itk.BinaryDilateImageFilter.IUC3IUC3SE3.New(Kernel=itk.strel(3,[3,3,1]), auto_progress=False) dilate3 = itk.BinaryDilateImageFilter.IUC3IUC3SE3.New(dilate2, Kernel=itk.FlatStructuringElement._3.Cross(1), auto_progress=False) border2 = itk.SubtractImageFilter.IUC3IUC3IUC3.New(dilate3, dilate2, auto_progress=False) obo2 = itk.ObjectByObjectLabelMapFilter.LM3.New(bi2lm, InputFilter=dilate2, OutputFilter=border2, PadSize=6) crop = itk.AutoCropLabelMapFilter.LM3.New(result, CropBorder=[30,30,10]) window = itk.IntensityWindowingImageFilter.IUS3IUS3.New(cenp, OutputMinimum=0, OutputMaximum=255) rescale = itk.CastImageFilter.IUS3IUC3.New(window) # extract = itk.ExtractImageFilter.IUS3IUS3.New(cenp) # rescale = itk.RescaleIntensityImageFilter.IUS3IUC3.New(extract) overlay = itk.LabelMapOverlayImageFilter.LM3IUC3IRGBUC3.New(crop, rescale, NumberOfThreads=1)#, Opacity=0.2) # segmentation result2 = itk.Image.UC3.New(Regions=itk.region(cenp), Spacing=itk.spacing(cenp)) result2.Allocate() result2.FillBuffer(0) for nucleus in lmNuclei[0]: l = nucleus.GetLabel() # select the right nucleus mask.SetLabel(l) # and set the threshold for the cenp spots rmaxRelabel() # oldValue = itk.range(mask)[1]/5 v = int( rmaxRelabel[0].GetLabelObject(22).GetMaximum()/2 ) values = [rmaxRelabel[0].GetLabelObject(i+1).GetMaximum() for i in range(11)] # vmean = mean(values) / 4 # vmedian = median(values) / 4 th.SetLowerThreshold( int(vmedian) )
def Estimate_USRF_ReferenceSpectrum(input_filepath, side_lines=5, fft1D_size=128, subregion_depth_fraction=1.0): InputPixelType = itk.ctype('float') Dimension = 2 ImageType = itk.Image[InputPixelType, Dimension] reader = itk.ImageFileReader[ImageType].New() reader.SetFileName(input_filepath) input_RF = reader.GetOutput() # Apply missing spacing information if 'LinearProbe' in input_filepath: change_information = itk.ChangeInformationImageFilter.New(input_RF) change_information.SetUseReferenceImage(True) change_information.SetChangeSpacing(True) output_spacing = [1.0, 1.0] size = itk.size(input_RF) sos = 1540. fs = 30000. output_spacing[0] = sos / (2 * fs) transducer_width = 30.0 output_spacing[1] = transducer_width / (size[1] - 1) change_information.SetOutputSpacing(output_spacing) input_RF = change_information.GetOutput() input_RF.UpdateOutputInformation() # Look for the peak signal amplitude in a sub-region subregion_filter = itk.RegionOfInterestImageFilter.New(input_RF) subregion = itk.region(input_RF) input_size = itk.size(input_RF) input_index = itk.index(input_RF) # Skip the initial 10% of the beamline, which is in the nearfield subregion_index = itk.Index[Dimension]() subregion_index[0] = int(input_size[0] * 0.1) subregion_index[1] = input_index[1] subregion.SetIndex(subregion_index) subregion_size = itk.Size[Dimension]() subregion_size[0] = input_size[0] - subregion_index[0] subregion_size[0] = subregion_size[0] - int((1. - subregion_depth_fraction) * subregion_size[0]) subregion_size[1] = input_size[1] subregion.SetSize(subregion_size) subregion_filter.SetRegionOfInterest(subregion) subregion_filter.UpdateLargestPossibleRegion() subregion_image = subregion_filter.GetOutput() max_calculator = itk.MinimumMaximumImageCalculator.New(subregion_image) max_calculator.ComputeMaximum() max_index = max_calculator.GetIndexOfMaximum() SideLinesPixelType = itk.ctype('unsigned char') SideLinesImageType = itk.Image[SideLinesPixelType, Dimension] side_lines_image = SideLinesImageType.New() side_lines_image.CopyInformation(subregion_image) side_lines_image.SetRegions(subregion_image.GetLargestPossibleRegion()) side_lines_image.Allocate() side_lines_image.FillBuffer(side_lines) spectra_window_filter = itk.Spectra1DSupportWindowImageFilter.New(side_lines_image) spectra_window_filter.SetFFT1DSize(fft1D_size) spectra_filter = itk.Spectra1DImageFilter.New(subregion_filter) spectra_filter.SetSupportWindowImage(spectra_window_filter.GetOutput()) spectra_filter.UpdateLargestPossibleRegion() reference_spectrum_filter = itk.RegionOfInterestImageFilter.New(spectra_filter) reference_spectrum_region = itk.region(spectra_filter.GetOutput()) reference_spectrum_region.SetIndex(max_index) reference_spectrum_size = itk.Size[Dimension]() reference_spectrum_size.Fill(1) reference_spectrum_region.SetSize(reference_spectrum_size) reference_spectrum_filter.SetRegionOfInterest(reference_spectrum_region) input_dir, input_file = os.path.split(input_filepath) output_dir = os.path.join(input_dir, 'ReferenceSpectrum') if not os.path.exists(output_dir): os.makedirs(output_dir) input_filename, input_fileext = os.path.splitext(input_file) identifier = '_ReferenceSpectrum_side_lines_{:02d}_fft1d_size_{:03d}.mha'.format(side_lines, fft1D_size) output_file = os.path.join(output_dir, input_filename + identifier) writer = itk.ImageFileWriter.New(reference_spectrum_filter) writer.SetFileName(output_file) writer.SetUseCompression(True) writer.Update()
transform = flatNucleus.GetBinaryPrincipalAxesToPhysicalAxesTransform() resampleNucleus(Transform=transform, OutputStartIndex=idx, Size=size, OutputSpacing=spacing) resampleCentromeres(Transform=transform, OutputStartIndex=idx, Size=size, OutputSpacing=spacing) resampleCentromeresInt(Transform=transform, OutputStartIndex=idx, Size=size, OutputSpacing=spacing) unflattenNucleus(OutputSpacing=spacing2) unflattenCentromeres(OutputSpacing=spacing2) unflattenCentromeresInt(OutputSpacing=spacing2) nucleus = nucleusLM()[0].GetLabelObject(flatNucleus.GetLabel()) maskedCentromeres.SetLabel(nucleus.GetLabel()) nucleusSize = nucleus.GetSize() npos = nucleus.GetCentroid() # une simulation pour une analyse globale dans R simCentromeresLM.SetRegions(itk.region(nucleusReader)) simCentromeresLM.SetSpacing(itk.spacing(nucleusReader)) simCentromeresLM.ClearLabels() for i in range(centromeresLM()[0].GetNumberOfLabelObjects()): idx = nucleus.GetIndex(random.randint(0, nucleusSize-1)) simCentromeresLM.SetPixel(idx, 1) simCentromeresLM.GetLabelObject(1).Optimize() cpos = shapeAggrCentromeresLM()[0].GetNthLabelObject(0).GetCentroid() cdist = (npos - cpos).GetNorm() spos = shapeSimCentromeresLM()[0].GetNthLabelObject(0).GetCentroid() sdist = (npos - spos).GetNorm() # realisation dun test par noyau avec plusieurs simulations