if not os.path.exists(imageDir): continue numfiles = len([name for name in os.listdir(imageDir)]) if numfiles >= 2: fftOutputMosaic = "{0}/{1}.mosaic".format(testRoot, outputStem) print("Calling fast fourier transform...") print(" {0}".format(fftOutputMosaic)) try: seg3d2.fftfilter( layerid=layerid, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, tile_strategy=tileStrategy, pixel_spacing=pixelSpacing, directory=imageDir, min_peak=minPeak, peak_threshold=peakThreshold, output_mosaic=fftOutputMosaic, iterations_per_level=pyramidIterations, pyramid_levels=pyramidLevels, ) # refineGridMosaic="{0}/{1}g.mosaic".format(testRoot, outputStem) # print("Calling refine grid filter...") # print(" {0}".format(refineGridMosaic)) # print(refineGridMosaic) # seg3d2.refinegridfilter(layerid=layerid, shrink_factor=shrinkFactor, # pixel_spacing=pixelSpacing, iterations=refineGridIterations, # input_mosaic=fftOutputMosaic, output_mosaic=refineGridMosaic, # directory=imageDir, cell_size=cellSize)
for index in range(first, last + 1): # python loops over range first, last-1 outputName = "{0}_{1}".format(datasetName, index) # build file names in order files = [] for suffix in fileSuffixList: filename = "%s%03d%s" % (filePrefix, index, suffix) files.append(filename) print("Tiling {0}".format(files)) fftMosaic = "{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) seg3d2.fftfilter(layerid=layerid, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, images=files, directory=tilesDir, output_mosaic=fftMosaic) files = [] for index in range(first, last): nextIndex = index + 1 print('slice to slice registration: index={0}, nextIndex={1}'.format( index, nextIndex)) outputName = "{0}_{1}".format(datasetName, index) nextOutputName = "{0}_{1}".format(datasetName, nextIndex) mosaicFixed = "{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) if not os.path.isfile(mosaicFixed):
testRoot2 = '{0}/test_vol'.format(testRoot) outputVolumeDir = '{0}/vol'.format(testRoot2) imageDirList = [] outputMosaicList = [] for index in range(firstIndex, mosaicLastIndex): outputStem = 'mv{0}'.format(index) imageDir = '{0}/{1}'.format(testRoot, index) imageDirList.append(imageDir) testOutputRoot = '{0}/test'.format(imageDir) fftOutputMosaic = '{0}/fft/{1}.mosaic'.format(testOutputRoot, outputStem) print(fftOutputMosaic) outputMosaicList.append(fftOutputMosaic) seg3d2.fftfilter(layerid=layerid, directory=imageDir, output_mosaic=fftOutputMosaic, shrink_factor=shrinkFactor) assembleOutputImage = '{0}/results/{1}{2}'.format(testOutputRoot, outputStem, outputImageExtension) print(assembleOutputImage) seg3d2.assemblefilter(layerid=layerid, input_mosaic=fftOutputMosaic, output_image=assembleOutputImage, directory=imageDir, shrink_factor=shrinkFactor, feathering="blend") fixedIndex = 1
outputName = "{0}_{1}".format(datasetName, index) files = [] for suffix in fileSuffixList: filename = "%s%03d%s" % (filePrefix, index, suffix) files.append(filename) print(files) fftMosaic = "{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) seg3d2.fftfilter(layerid=layerid, tile_strategy='top_left_book', min_peak=minPeak, peak_threshold=peakThreshold, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, pixel_spacing=pixelSpacing, images=files, directory=testRoot, output_mosaic=fftMosaic) #iterations_per_level=pyramidIterations, pyramid_levels=pyramidLevels #refineGridMosaic="{0}/{1}{2}".format(refineGridDir, outputName, mosaicExtension) #seg3d2.refinegridfilter(layerid=layerid, shrink_factor=shrinkFactor, pixel_spacing=pixelSpacing, iterations=refineGridIterations, input_mosaic=fftMosaic, output_mosaic=refineGridMosaic, directory=testRoot, cell_size=cellSize) # in case refine grid failed: #if os.path.getsize(refineGridMosaic) == 0: # print("Refine grid failed for {0}. Using fft mosaic {1} instead.".format(refineGridMosaic, fftMosaic)) refineGridMosaic = fftMosaic
outputImage = "{0}/{1}".format(enhancedDir, f) seg3d2.clahefilter(layerid=layerid, shrink_factor=claheShrinkFactor, input_image=inputImage, output_image=outputImage, window_x=window[0], window_y=window[1]) outputName = "{0}_{1}".format(datasetName, index) fftMosaic = "{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) seg3d2.fftfilter(layerid=layerid, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, pixel_spacing=pixelSpacing, images=files, directory=enhancedDir, output_mosaic=fftMosaic, iterations_per_level=pyramidIterations, pyramid_levels=pyramidLevels) imageOutputFile = "{0}/{1}{2}".format(resultsDir, outputName, outputImageExtension) seg3d2.assemblefilter(layerid=layerid, shrink_factor=shrinkFactor, pixel_spacing=pixelSpacing, input_mosaic=fftMosaic, output_image=imageOutputFile, directory=testRoot) files = []
layerid = "<none>" testRoot2 = "{0}/test_vol".format(testRoot) outputVolumeDir = "{0}/vol".format(testRoot2) imageDirList = [] outputMosaicList = [] for index in range(firstIndex, mosaicLastIndex): outputStem = "mv{0}".format(index) imageDir = "{0}/{1}".format(testRoot, index) imageDirList.append(imageDir) testOutputRoot = "{0}/test".format(imageDir) fftOutputMosaic = "{0}/fft/{1}.mosaic".format(testOutputRoot, outputStem) print(fftOutputMosaic) outputMosaicList.append(fftOutputMosaic) seg3d2.fftfilter(layerid=layerid, directory=imageDir, output_mosaic=fftOutputMosaic, shrink_factor=shrinkFactor) assembleOutputImage = "{0}/results/{1}{2}".format(testOutputRoot, outputStem, outputImageExtension) print(assembleOutputImage) seg3d2.assemblefilter( layerid=layerid, input_mosaic=fftOutputMosaic, output_image=assembleOutputImage, directory=imageDir, shrink_factor=shrinkFactor, feathering="blend", ) fixedIndex = 1 inputFixed = outputMosaicList[0]
for index in range(rangeMin, mosaicRangeMax): for suffix in fileSuffixList: filename = "%s%03d%s" % (filePrefix, index, suffix) files.append(filename) print(files) for f in files: inputImage = "{0}/{1}".format(testRoot, f) outputImage = "{0}/{1}".format(enhancedDir, f) seg3d2.clahefilter(layerid=layerid, shrink_factor=claheShrinkFactor, input_image=inputImage, output_image=outputImage, window_x=window[0], window_y=window[1]) outputName = "{0}_{1}".format(datasetName, index) fftMosaic = "{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) seg3d2.fftfilter(layerid=layerid, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, pixel_spacing=pixelSpacing, images=files, directory=enhancedDir, output_mosaic=fftMosaic, iterations_per_level=pyramidIterations, pyramid_levels=pyramidLevels) imageOutputFile = "{0}/{1}{2}".format(resultsDir, outputName, outputImageExtension) seg3d2.assemblefilter(layerid=layerid, shrink_factor=shrinkFactor, pixel_spacing=pixelSpacing, input_mosaic=fftMosaic, output_image=imageOutputFile, directory=testRoot) files = [] for index in range(rangeMin, stosRangeMax): next_index = index + 1 print('index={0}, next_index={1}'.format(index, next_index)) outputName = "{0}_{1}".format(datasetName, index) nextOutputName = "{0}_{1}".format(datasetName, next_index) mosaicFixed = "{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) if not os.path.isfile(mosaicFixed): break
############################################ if not os.path.exists(imageDir): continue numfiles = len([name for name in os.listdir(imageDir)]) if numfiles >= 2: fftOutputMosaic = '{0}/{1}.mosaic'.format(testRoot, outputStem) print("Calling fast fourier transform...") print(" {0}".format(fftOutputMosaic)) try: seg3d2.fftfilter(layerid=layerid, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, tile_strategy=tileStrategy, pixel_spacing=pixelSpacing, directory=imageDir, min_peak=minPeak, peak_threshold=peakThreshold, output_mosaic=fftOutputMosaic, iterations_per_level=pyramidIterations, pyramid_levels=pyramidLevels) #refineGridMosaic="{0}/{1}g.mosaic".format(testRoot, outputStem) #print("Calling refine grid filter...") #print(" {0}".format(refineGridMosaic)) #print(refineGridMosaic) #seg3d2.refinegridfilter(layerid=layerid, shrink_factor=shrinkFactor, # pixel_spacing=pixelSpacing, iterations=refineGridIterations, # input_mosaic=fftOutputMosaic, output_mosaic=refineGridMosaic, # directory=imageDir, cell_size=cellSize)
outputName = "{0}_{1}".format(datasetName, index) files = [] for suffix in fileSuffixList: filename = "%s%03d%s" % (filePrefix, index, suffix) files.append(filename) print(files) fftMosaic="{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) seg3d2.fftfilter(layerid=layerid, tile_strategy='top_left_book', min_peak=minPeak, peak_threshold=peakThreshold, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, pixel_spacing=pixelSpacing, images=files, directory=testRoot, output_mosaic=fftMosaic) #iterations_per_level=pyramidIterations, pyramid_levels=pyramidLevels #refineGridMosaic="{0}/{1}{2}".format(refineGridDir, outputName, mosaicExtension) #seg3d2.refinegridfilter(layerid=layerid, shrink_factor=shrinkFactor, pixel_spacing=pixelSpacing, iterations=refineGridIterations, input_mosaic=fftMosaic, output_mosaic=refineGridMosaic, directory=testRoot, cell_size=cellSize) # in case refine grid failed: #if os.path.getsize(refineGridMosaic) == 0: # print("Refine grid failed for {0}. Using fft mosaic {1} instead.".format(refineGridMosaic, fftMosaic)) refineGridMosaic = fftMosaic
first = 39 last = 247 for index in range(first, last+1): # python loops over range first, last-1 outputName = "{0}_{1}".format(datasetName, index) # build file names in order files = [] for suffix in fileSuffixList: filename = "%s%03d%s" % (filePrefix, index, suffix) files.append(filename) print("Tiling {0}".format(files)) fftMosaic="{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) seg3d2.fftfilter(layerid=layerid, shrink_factor=shrinkFactor, overlap_min=overlapMin, overlap_max=overlapMax, images=files, directory=tilesDir, output_mosaic=fftMosaic) files = [] for index in range(first, last): nextIndex = index + 1 print('slice to slice registration: index={0}, nextIndex={1}'.format(index, nextIndex)) outputName = "{0}_{1}".format(datasetName, index) nextOutputName = "{0}_{1}".format(datasetName, nextIndex) mosaicFixed="{0}/{1}{2}".format(fftDir, outputName, mosaicExtension) if not os.path.isfile(mosaicFixed): break mosaicMoving="{0}/{1}{2}".format(fftDir, nextOutputName, mosaicExtension) if not os.path.isfile(mosaicMoving): break