task_args.append( "subtract.kernel.active.detectionConfig.fpGrowMin=%d" % (fpGrowPix - 1)) task_args.append( "subtract.kernel.active.detectionConfig.fpGrowPix=%d" % (fpGrowPix)) task_args.append( "subtract.kernel.active.detectionConfig.fpGrowMax=%d" % (fpGrowPix + 1)) task_args.append("doDetection=False") task_args.append("doMeasurement=False") ## Hack around the lack of metadata being returned in cmdLineTask tmp = ImageDifferenceTask() parsedCmd = tmp._makeArgumentParser().parse_args( config=tmp.ConfigClass(), args=task_args, log=tmp.log, override=tmp.applyOverrides) task = ImageDifferenceTask(name=ImageDifferenceTask._DefaultName, config=parsedCmd.config, log=parsedCmd.log) results = task.run(parsedCmd.dataRefList[0]) try: kSum = task.subtract.metadata.get("spatialKernelSum") cNum = task.subtract.metadata.get("spatialConditionNum") except Exception: kSums.append(np.inf) cNums.append(np.inf) else:
for gSize in gSizes: fpGrowPix = int(gSize * kSize / 2 + 0.5) # this is a grow radius # Specializations for this test task_args = sys.argv[1:] task_args.append("--config") task_args.append("subtract.kernel.active.kernelSize=%d" % (kSize)) task_args.append("subtract.kernel.active.detectionConfig.fpGrowMin=%d" % (fpGrowPix-1)) task_args.append("subtract.kernel.active.detectionConfig.fpGrowPix=%d" % (fpGrowPix)) task_args.append("subtract.kernel.active.detectionConfig.fpGrowMax=%d" % (fpGrowPix+1)) task_args.append("doDetection=False") task_args.append("doMeasurement=False") ## Hack around the lack of metadata being returned in cmdLineTask tmp = ImageDifferenceTask() parsedCmd = tmp._makeArgumentParser().parse_args(config=tmp.ConfigClass(), args=task_args, log=tmp.log, override=tmp.applyOverrides) task = ImageDifferenceTask(name = ImageDifferenceTask._DefaultName, config=parsedCmd.config, log=parsedCmd.log) results = task.run(parsedCmd.dataRefList[0]) try: kSum = task.subtract.metadata.get("spatialKernelSum") cNum = task.subtract.metadata.get("spatialConditionNum") except Exception: kSums.append(np.inf) cNums.append(np.inf) else: kSums.append(kSum) cNums.append(cNum) fig = plt.figure() data = np.array(kSums).reshape(len(kSizes), len(gSizes)).T