### Compute area fraction of oriented regions ### # Compute area of oriented mask newMaskImp = ImageJFunctions.wrapUnsignedByte(newMask, "New mask"); newMaskImp.getProcessor().setThreshold(1.0, 1.5, False); # [0.5, 1.0] does not work due to rounding problems rt = ResultsTable(); analyzer = Analyzer(newMaskImp, Measurements.AREA | Measurements.LIMIT, rt); analyzer.measure(); # Compute area of overall selection mask energyMaskImp = ImageJFunctions.wrapUnsignedByte(overallSelectionMask, "Energy mask"); energyMaskImp.getProcessor().setThreshold(1.0, 1.5, False); # [0.5, 1.0] does not work due to rounding problems rtEnergy = ResultsTable(); analyzerEnergy = Analyzer(energyMaskImp, Measurements.AREA | Measurements.LIMIT, rtEnergy); analyzerEnergy.measure(); # Print Area% (through SciJava OUTPUT, see L5) if IJ.debugMode: print("Coherency area: "+str(rt.getValueAsDouble(rt.getColumnIndex("Area"), rt.size()-1))); print("Energy area: "+str(rtEnergy.getValueAsDouble(rtEnergy.getColumnIndex("Area"), rtEnergy.size()-1))); areaCoherency = rt.getValueAsDouble(rt.getColumnIndex("Area"), rt.size()-1); areaEnergy = rtEnergy.getValueAsDouble(rtEnergy.getColumnIndex("Area"), rtEnergy.size()-1); areaFraction = str(areaCoherency/areaEnergy*100.0)+"%"; # Close "S-Mask" if not IJ.debugMode: maskImp.close(); # Close "Energy" if not IJ.debugMode and useEnergy: energyImp.close();