Convert Annotation Tiles to Detection with new parameters 2

Hi, a few days ago I wrote this topic

I understand that the amount of parameters to caculate was too high. would it be possible to calculate only the following?

total VCO mean (mean of “VCO” parameter of all detection classes, so i think it’s…) = sum of VCO(of that tile)/Num Detections);

rbVCO mean=(sum of VCO of “regular big coopted” detections+ sum of VCO of “regular big uncoopted” detections)/(Num regular big coopted+Num regular big uncoopted);

ibVCO mean=(sum of VCO of “irregular big coopted” detections+ sum of VCO of “irregular big uncoopted” detections)/(Num irregular big coopted+Num irregular big uncoopted);

bVCO mean=(sum of VCO of “irregular big coopted” detections+sum of VCO of “irregular big uncoopted” detections+sum of VCO of “regular big uncoopted+sum of VCO of “regular big coopted)/(Num irregular big coopted+Num irregular big uncoopted+Num regular big uncoopted+Num regular big coopted);

sVCO mean=(sum of VCO of “small coopted” detections+ sum of VCO of “small uncoopted” detections)/(Num small coopted+Num small uncoopted);

rbVCO percentage=Num regular big coopted/( Num regular big coopted+ Num regular big uncoopted)*100;

ibVCO percentage=Num irregular big coopted/( Num irregular big coopted+ Num irregular big uncoopted)*100;

bVCO percentage=(Num irregular big coopted+Num regular big coopted)/( Num irregular big coopted+ Num irregular big uncoopted+ Num regular big coopted+ Num regular big uncoopted)*100;

sVCO percentage=Num small coopted/(Num small coopted+ Num small uncoopted)*100;

total VCO percentage=(Num irregular big coopted+Num regular big coopted+Num small coopted)/Num detections*100;

Thanks

Manuel

Hi @Manuel_Baldinu,

I am sorry but there are just way too many measurements to calculate and it’s very confusing for someone who’s not involved in your project to distinguish all the different types of detections you have (small/big regular/irregular coopter/uncoopted sums or sums of these if VCO>0, etc…)… I basically got lost too much to provide more than the first 2 measurements.

I haven’t tested this script, as I don’t have your images/measurements. And it will probably not run as is, so you will have to change some lines, but this should give you a good idea of how to gather the sums of some elements and print out the resulting measurements:

getAnnotationObjects().forEach{ tile ->
    def children = tile.getChildObjects()
    def nDetections = tile.nChildObjects()
    if (nDetections == 0)
        return

    def sums = ["VCO": 0,
        "regBigCoopted": 0,
        "regBigUncoopted": 0,
        "VCORegBigCoopted": 0,
        "VCORegBigUncoopted": 0,
    ]

    children.forEach{ child ->
        def m = child.getMeasurementList()

        sums["VCO"] += m.getMeasurementValue("VCO")
        sums["regBigCoopted"] += m.getMeasurementValue("Num regular big coopted")
        sums["regBigUncoopted"] += m.getMeasurementValue("Num regular big uncoopted")

        if (child.getName().equals("regular big coopted")) // Is this the name for regular big coopted detections?
            sums["VCORegBigCoopted"] += m.getMeasurementValue("VCO")

        if (child.getName().equals("regular big uncoopted")) // Is this the name for regular big uncoopted detections?
            sums["VCORegBigUncoopted"] += m.getMeasurementValue("Num irregular big uncoopted")
    }
    print "Total mean VCO: " + (sums["VCO"]/nDetections)
    print "rbVCO mean: " + ((sums["VCORegBigCoopted"]+sums["VCORegBigUncoopted"])/(sums["regBigCoopted"]+sums["regBigUncoopted"]))
}
print "Done!"

EDIT: typos in code

2 Likes
ERROR: MultipleCompilationErrorsException at line 1: startup failed:
Script8.groovy: 2: Unexpected input: '{'; Expecting <EOF> @ line 2, column 31.
   getAnnotationObjects().forEach{ tile ->
                                 ^

1 error


ERROR: org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:287)
    org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:143)
    org.apache.groovy.parser.antlr4.AstBuilder.collectSyntaxError(AstBuilder.java:4544)
    org.apache.groovy.parser.antlr4.AstBuilder.access$000(AstBuilder.java:341)
    org.apache.groovy.parser.antlr4.AstBuilder$1.syntaxError(AstBuilder.java:4559)
    groovyjarjarantlr4.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:44)
    groovyjarjarantlr4.v4.runtime.Parser.notifyErrorListeners(Parser.java:543)
    groovyjarjarantlr4.v4.runtime.DefaultErrorStrategy.notifyErrorListeners(DefaultErrorStrategy.java:154)
    org.apache.groovy.parser.antlr4.internal.DescriptiveErrorStrategy.reportInputMismatch(DescriptiveErrorStrategy.java:104)
    org.apache.groovy.parser.antlr4.internal.DescriptiveErrorStrategy.recover(DescriptiveErrorStrategy.java:55)
    org.apache.groovy.parser.antlr4.internal.DescriptiveErrorStrategy.recoverInline(DescriptiveErrorStrategy.java:68)
    groovyjarjarantlr4.v4.runtime.Parser.match(Parser.java:213)
    org.apache.groovy.parser.antlr4.GroovyParser.compilationUnit(GroovyParser.java:361)
    org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:405)
    org.apache.groovy.parser.antlr4.AstBuilder.buildCST(AstBuilder.java:384)
    org.apache.groovy.parser.antlr4.AstBuilder.buildAST(AstBuilder.java:424)
    org.apache.groovy.parser.antlr4.Antlr4ParserPlugin.buildAST(Antlr4ParserPlugin.java:58)
    org.codehaus.groovy.control.SourceUnit.convert(SourceUnit.java:244)
    org.codehaus.groovy.control.CompilationUnit.lambda$addPhaseOperations$1(CompilationUnit.java:191)
    org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:880)
    org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:650)
    org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:627)
    groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:389)
    groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)
    org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
    org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
    groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:330)
    groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:314)
    groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:257)
    org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:336)
    org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:153)
    qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:926)
    qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:859)
    qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:782)
    qupath.lib.gui.scripting.DefaultScriptEditor$2.run(DefaultScriptEditor.java:1271)
    java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    java.base/java.lang.Thread.run(Unknown Source)


Some typos in the code… I’ve just edited my post now.
Note that you will have to extend the script to get all your required measurements.

1 Like

It runs, but I don’t find the parameters in the annotations map

It’s because the script doesn’t put the new measurements in the map, it just prints them:

If you want to add the new measurements to the list, you can replace the above two lines with the following 4 lines:

def totalMeanVCO = (sums["VCO"]/nDetections)
def rbVCOMean = (sums["VCORegBigCoopted"]+sums["VCORegBigUncoopted"])/(sums["regBigCoopted"]+sums["regBigUncoopted"])

tile.getMeasurementList().putMeasurement("Total mean VCO", totalMeanVCO)
tile.getMeasurementList().putMeasurement("rbVCO mean", rbVCOMean)
2 Likes

Thank u so much! Now I’ll try to write the rest using the same technique

1 Like

@melvingelbard very strange thing. I can’t calculate rbVCO mean

I thought the problem was here (irregular instead of regular?)


sums["VCORegBigUncoopted"] += m.getMeasurementValue("Num irregular big uncoopted")  // irregular instead of regular?
  

but trying to replace it the result doesn’t change

Could there be something wrong with the code setting? the formula seems set well,

rbVCO mean = (VCO of regular big coopted + VCO of regular big uncoopted) / (Num regular big coopted + Num regular big uncoopted)

maybe there is some problem in the determinations of the variables?

@melvingelbard I upload a small piece of image and classifiers :
vco gbm.tif (4.6 MB)
pixel_classifiers_VCO.rar (4.0 KB)

and this is the script:

getAnnotationObjects().each{

    it.setPathClass(getPathClass("Ignore"))
}
selectObjectsByClassification("Ignore");
createAnnotationsFromPixelClassifier("pbzignore", 2000.0, 1000.0, "DELETE_EXISTING", "INCLUDE_IGNORED")
selectObjectsByClassification("Ignore");
clearSelectedObjects();


// Select PBZ Annotation

selectObjectsByClassification("PBZ");

//Create Tiles and Delete PBZ Annotation
runPlugin('qupath.lib.algorithms.TilerPlugin', '{"tileSizeMicrons": 500.0,  "trimToROI": true,  "makeAnnotations": true,  "removeParentAnnotation": true}');


//Set "Tile" class to tile

getAnnotationObjects().each{

    it.setPathClass(getPathClass("Tile"))
}

//Positive cell detection and delete positive cell

selectObjectsByClassification("Tile");

runPlugin('qupath.imagej.detect.cells.PositiveCellDetection', '{"detectionImageBrightfield": "Hematoxylin OD",  "requestedPixelSizeMicrons": 0.5,  "backgroundRadiusMicrons": 8.0,  "medianRadiusMicrons": 0.0,  "sigmaMicrons": 1.5,  "minAreaMicrons": 20.0,  "maxAreaMicrons": 400.0,  "threshold": 0.08,  "maxBackground": 2.0,  "watershedPostProcess": true,  "excludeDAB": false,  "cellExpansionMicrons": 2.0,  "includeNuclei": true,  "smoothBoundaries": true,  "makeMeasurements": true,  "thresholdCompartment": "Nucleus: DAB OD mean",  "thresholdPositive1": 0.2,  "thresholdPositive2": 0.4,  "thresholdPositive3": 0.6000000000000001,  "singleThreshold": true}');

selectObjectsByClassification("Positive");
clearSelectedObjects();

//Create vessel from Classifier (load it)
selectObjectsByClassification("Tile");
createAnnotationsFromPixelClassifier("vasi ignore", 50.0, 100000.0, "SPLIT")

//Go through each vessel and index them. This will allow us to find the pairing vessel ring later
vessels = getAnnotationObjects().findAll{it.getPathClass() == getPathClass("Vessel")}
vessels.eachWithIndex{v,i->
    v.setName(i.toString())
}
//Perform the expansion on the Vessel objects. You will need to adjust this distance, set to 15.0 currently
selectObjectsByClassification("Vessel");
runPlugin('qupath.lib.plugins.objects.DilateAnnotationPlugin', '{"radiusMicrons": 15.0,  "lineCap": "Round",  "removeInterior": true,  "constrainToParent": true}');

//Relabel the center objects
vessels.each{it.setPathClass(getPathClass("VesselCenter"))}

//Find the annotations that are rings for later
rings = getAnnotationObjects().findAll{it.getPathClass() == getPathClass("Vessel")}
//Make sure cells are counted within the right annotations
resolveHierarchy()

imageData = getCurrentImageData()
cal=imageData.getServer().getPixelCalibration()
pixelSize=cal.getAveragedPixelSize()

//In each ring, calculate the local density
rings.each{
    totalCells = []
    area = it.getROI().getArea()*pixelSize*pixelSize/1000000
    qupath.lib.objects.PathObjectTools.getDescendantObjects(it,totalCells, PathCellObject)
    negativeCells = totalCells.findAll{it.getPathClass() == getPathClass("Negative")}
    it.getMeasurementList().putMeasurement("Local Density /mm^2", negativeCells.size()/area)
    
}

resolveHierarchy()  //Make sure cells are all children of the appropriate annotations.



//Get a list of tiles
tiles = getAnnotationObjects().findAll{it.getPathClass() == getPathClass("Tile")}
//Go through each tile and find the density
tiles.each{
    
    totalCells = it.getChildObjects().findAll{d-> d.isDetection()}
    negativeCells = totalCells.findAll{it.getPathClass() == getPathClass("Negative")}
    childAnnotations = it.getChildObjects().findAll{it.isAnnotation()}
    //based on Pete's code above you might be able to replace that with 
    //childAnnotations = getCurrentHierarchy().getObjectsForROI(PathAnnotationObject, it.getROI() )
    tileArea = it.getROI().getArea()
    areaToSubtract = 0
    childAnnotations.each{a->
        areaToSubtract = areaToSubtract+ a.getROI().getArea()
    }
    finalArea = (tileArea - areaToSubtract) *pixelSize*pixelSize/1000000
    
    /////////////////FOR TESTING, REMOVE NEXT TWO LINES LATER///////////
    it.getMeasurementList().putMeasurement("Tile area excluding vessels", finalArea)
    it.getMeasurementList().putMeasurement("Negative cells outside vessels", negativeCells.size())
    //////////////////////////////////////////////////////////////////////////////
    it.getMeasurementList().putMeasurement("Tile Density /mm^2", negativeCells.size()/finalArea)
}


//In each vessel, use the local density of its ring, and the density of its parent tile, to calculate the VCO
vessels.each{v->

    currentRing = rings.find{v.getName().equals(it.getName())}
    v.getMeasurementList().putMeasurement("Local Density /mm^2",measurement(currentRing, "Local Density /mm^2"))
    tile = v.getParent()
    print tile
    v.getMeasurementList().putMeasurement("VCO", measurement(v,"Local Density /mm^2")/measurement(tile,"Tile Density /mm^2"))
}

//remove the rings if you want. Uncomment the line below.
//removeObjects(rings, true)

import qupath.lib.objects.PathCellObject



addShapeMeasurements("AREA", "LENGTH", "CIRCULARITY", "SOLIDITY", "MAX_DIAMETER", "MIN_DIAMETER", "NUCLEUS_CELL_RATIO")



def annotations = getAnnotationObjects()

//change this line to subset = annotations if you want to convert ALL current annotations to detections. Otherwise adjust as desired.
def subset = annotations.findAll {it.getROI()&& it.getPathClass() == getPathClass("VesselCenter")}


// Create corresponding detections (name this however you like)
def classification = getPathClass('VesselCenter')
def detections = subset.collect {
PathObjects.createDetectionObject(it.getROI(), classification, it.getMeasurementList())

}


// Remove ellipse annotations & replace with detections
removeObjects(subset, true)
addObjects(detections)


selectCells();
clearSelectedObjects(true);
clearSelectedObjects();

selectObjectsByClassification("Vessel");
clearSelectedObjects();

import qupath.lib.objects.PathObject
import static qupath.lib.gui.scripting.QPEx.*

def calc = new Calculator()

// Get the objects (here, we use detections - change if required)
def pathObjects = getDetectionObjects()

// Add the measurements
pathObjects.each {
    try (def ml = it.getMeasurementList()) {
        ml.putMeasurement(calc.getName(), calc.calculate(it))
    }
}
fireHierarchyUpdate()

/**
 * Class to define your new measurement
 */
class Calculator {

    /**
     * TODO: Fill in the measurement name
     * @return the measurement name
     */
    String getName() {
        return "E"
    }

    /**
     * TODO: Fill in the measurement calculation
     * @return the measurement value for the specified object
     */
    double calculate(PathObject pathObject) {
        double maxDiam = measurement(pathObject, "Max diameter µm")
        double minDiam = measurement(pathObject, "Min diameter µm")
        double area = measurement(pathObject, "Area µm^2")
        double length = measurement(pathObject, "Length µm")

        return area * 2 * Math.sqrt( maxDiam * maxDiam * 2 + minDiam * minDiam * 2) / length / minDiam / maxDiam
    }


}

runObjectClassifier("FINAL classifier");

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: regular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: irregular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: regular: bigarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: irregular: bigarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: regular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: irregular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: regular: bigarea")){
    it.setPathClass(getPathClass("regular big coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: irregular: bigarea")){
    it.setPathClass(getPathClass("irregular big coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: regular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: irregular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: regular: bigarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: irregular: bigarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: regular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: irregular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: regular: bigarea")){
    it.setPathClass(getPathClass("regular big uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: irregular: bigarea")){
    it.setPathClass(getPathClass("irregular big uncoopted"))
  }
}


resolveHierarchy()

getAnnotationObjects().forEach{ tile ->
    def children = tile.getChildObjects()
    def nDetections = tile.nChildObjects()
    if (nDetections == 0)
        return

    def sums = ["VCO": 0,
        "regBigCoopted": 0,
        "regBigUncoopted": 0,
        "VCORegBigCoopted": 0,
        "VCORegBigUncoopted": 0,
    ]

    children.forEach{ child ->
        def m = child.getMeasurementList()

        sums["VCO"] += m.getMeasurementValue("VCO")
        sums["regBigCoopted"] += m.getMeasurementValue("Num regular big coopted")
        sums["regBigUncoopted"] += m.getMeasurementValue("Num regular big uncoopted")

        if (child.getName().equals("regular big coopted")) // Is this the name for regular big coopted detections?
            sums["VCORegBigCoopted"] += m.getMeasurementValue("VCO")

        if (child.getName().equals("regular big uncoopted")) // Is this the name for regular big uncoopted detections?
            sums["VCORegBigUncoopted"] += m.getMeasurementValue("Num irregular big uncoopted")
   
    }
 def totalMeanVCO = (sums["VCO"]/nDetections)
def rbVCOMean = (sums["VCORegBigCoopted"]+sums["VCORegBigUncoopted"])/(sums["regBigCoopted"]+sums["regBigUncoopted"])

tile.getMeasurementList().putMeasurement("Total mean VCO", totalMeanVCO)
tile.getMeasurementList().putMeasurement("rbVCO mean", rbVCOMean)
 }
print "Done!"

detections = []
getAnnotationObjects().each{
    detections << PathObjects.createDetectionObject(it.getROI(), it.getPathClass(), it.getMeasurementList())
}
addObjects(detections)

resolveHierarchy()

you should create a project and put those classifiers in it. The first thing to do is to create an annotation (also the whole image, because the piece I sent you is very small), then start the script

In some cases you would expect it not to be calculated as you cannot divide by zero. Use print statements for your variables to figure out why the rest isn’t working.

1 Like

I tried, the results were “NaN”, but it strange because
there should be no zeros.

yet in the table the values ​​are non-zero.

For this I think the error is in the code

@Manuel_Baldinu,

Could you add the following lines please:

print m.getMeasurementValue("Num irregular big uncoopted")
print m.getMeasurementValue("Num regular big coopted")
print m.getMeasurementValue("Num regular big uncoopted")

And:

print("Is this a division by zero? " + ((sums["regBigCoopted"]+sums["regBigUncoopted"]) != 0))

And see if you get a NaN? Maybe you have a typo somewhere in the class name?

Thank u, Melvin! I’ll try it this evening because now i haven’t my pc.

1 Like

@melvingelbard Hi melvin.

This is the script:

getAnnotationObjects().each{

    it.setPathClass(getPathClass("Ignore"))
}
selectObjectsByClassification("Ignore");
createAnnotationsFromPixelClassifier("pbzignore", 2000.0, 1000.0, "DELETE_EXISTING", "INCLUDE_IGNORED")
selectObjectsByClassification("Ignore");
clearSelectedObjects();


// Select PBZ Annotation

selectObjectsByClassification("PBZ");

//Create Tiles and Delete PBZ Annotation
runPlugin('qupath.lib.algorithms.TilerPlugin', '{"tileSizeMicrons": 500.0,  "trimToROI": true,  "makeAnnotations": true,  "removeParentAnnotation": true}');


//Set "Tile" class to tile

getAnnotationObjects().each{

    it.setPathClass(getPathClass("Tile"))
}

//Positive cell detection and delete positive cell

selectObjectsByClassification("Tile");

runPlugin('qupath.imagej.detect.cells.PositiveCellDetection', '{"detectionImageBrightfield": "Hematoxylin OD",  "requestedPixelSizeMicrons": 0.5,  "backgroundRadiusMicrons": 8.0,  "medianRadiusMicrons": 0.0,  "sigmaMicrons": 1.5,  "minAreaMicrons": 20.0,  "maxAreaMicrons": 400.0,  "threshold": 0.08,  "maxBackground": 2.0,  "watershedPostProcess": true,  "excludeDAB": false,  "cellExpansionMicrons": 2.0,  "includeNuclei": true,  "smoothBoundaries": true,  "makeMeasurements": true,  "thresholdCompartment": "Nucleus: DAB OD mean",  "thresholdPositive1": 0.2,  "thresholdPositive2": 0.4,  "thresholdPositive3": 0.6000000000000001,  "singleThreshold": true}');

selectObjectsByClassification("Positive");
clearSelectedObjects();

//Create vessel from Classifier (load it)
selectObjectsByClassification("Tile");
createAnnotationsFromPixelClassifier("vasi ignore", 50.0, 100000.0, "SPLIT")

//Go through each vessel and index them. This will allow us to find the pairing vessel ring later
vessels = getAnnotationObjects().findAll{it.getPathClass() == getPathClass("Vessel")}
vessels.eachWithIndex{v,i->
    v.setName(i.toString())
}
//Perform the expansion on the Vessel objects. You will need to adjust this distance, set to 15.0 currently
selectObjectsByClassification("Vessel");
runPlugin('qupath.lib.plugins.objects.DilateAnnotationPlugin', '{"radiusMicrons": 15.0,  "lineCap": "Round",  "removeInterior": true,  "constrainToParent": true}');

//Relabel the center objects
vessels.each{it.setPathClass(getPathClass("VesselCenter"))}

//Find the annotations that are rings for later
rings = getAnnotationObjects().findAll{it.getPathClass() == getPathClass("Vessel")}
//Make sure cells are counted within the right annotations
resolveHierarchy()

imageData = getCurrentImageData()
cal=imageData.getServer().getPixelCalibration()
pixelSize=cal.getAveragedPixelSize()

//In each ring, calculate the local density
rings.each{
    totalCells = []
    area = it.getROI().getArea()*pixelSize*pixelSize/1000000
    qupath.lib.objects.PathObjectTools.getDescendantObjects(it,totalCells, PathCellObject)
    negativeCells = totalCells.findAll{it.getPathClass() == getPathClass("Negative")}
    it.getMeasurementList().putMeasurement("Local Density /mm^2", negativeCells.size()/area)
    
}

resolveHierarchy()  //Make sure cells are all children of the appropriate annotations.



//Get a list of tiles
tiles = getAnnotationObjects().findAll{it.getPathClass() == getPathClass("Tile")}
//Go through each tile and find the density
tiles.each{
    
    totalCells = it.getChildObjects().findAll{d-> d.isDetection()}
    negativeCells = totalCells.findAll{it.getPathClass() == getPathClass("Negative")}
    childAnnotations = it.getChildObjects().findAll{it.isAnnotation()}
    //based on Pete's code above you might be able to replace that with 
    //childAnnotations = getCurrentHierarchy().getObjectsForROI(PathAnnotationObject, it.getROI() )
    tileArea = it.getROI().getArea()
    areaToSubtract = 0
    childAnnotations.each{a->
        areaToSubtract = areaToSubtract+ a.getROI().getArea()
    }
    finalArea = (tileArea - areaToSubtract) *pixelSize*pixelSize/1000000
    
    /////////////////FOR TESTING, REMOVE NEXT TWO LINES LATER///////////
    it.getMeasurementList().putMeasurement("Tile area excluding vessels", finalArea)
    it.getMeasurementList().putMeasurement("Negative cells outside vessels", negativeCells.size())
    //////////////////////////////////////////////////////////////////////////////
    it.getMeasurementList().putMeasurement("Tile Density /mm^2", negativeCells.size()/finalArea)
}


//In each vessel, use the local density of its ring, and the density of its parent tile, to calculate the VCO
vessels.each{v->

    currentRing = rings.find{v.getName().equals(it.getName())}
    v.getMeasurementList().putMeasurement("Local Density /mm^2",measurement(currentRing, "Local Density /mm^2"))
    tile = v.getParent()
    print tile
    v.getMeasurementList().putMeasurement("VCO", measurement(v,"Local Density /mm^2")/measurement(tile,"Tile Density /mm^2"))
}

//remove the rings if you want. Uncomment the line below.
//removeObjects(rings, true)

import qupath.lib.objects.PathCellObject



addShapeMeasurements("AREA", "LENGTH", "CIRCULARITY", "SOLIDITY", "MAX_DIAMETER", "MIN_DIAMETER", "NUCLEUS_CELL_RATIO")



def annotations = getAnnotationObjects()

//change this line to subset = annotations if you want to convert ALL current annotations to detections. Otherwise adjust as desired.
def subset = annotations.findAll {it.getROI()&& it.getPathClass() == getPathClass("VesselCenter")}


// Create corresponding detections (name this however you like)
def classification = getPathClass('VesselCenter')
def detections = subset.collect {
PathObjects.createDetectionObject(it.getROI(), classification, it.getMeasurementList())

}


// Remove ellipse annotations & replace with detections
removeObjects(subset, true)
addObjects(detections)


selectCells();
clearSelectedObjects(true);
clearSelectedObjects();

selectObjectsByClassification("Vessel");
clearSelectedObjects();

import qupath.lib.objects.PathObject
import static qupath.lib.gui.scripting.QPEx.*

def calc = new Calculator()

// Get the objects (here, we use detections - change if required)
def pathObjects = getDetectionObjects()

// Add the measurements
pathObjects.each {
    try (def ml = it.getMeasurementList()) {
        ml.putMeasurement(calc.getName(), calc.calculate(it))
    }
}
fireHierarchyUpdate()

/**
 * Class to define your new measurement
 */
class Calculator {

    /**
     * TODO: Fill in the measurement name
     * @return the measurement name
     */
    String getName() {
        return "E"
    }

    /**
     * TODO: Fill in the measurement calculation
     * @return the measurement value for the specified object
     */
    double calculate(PathObject pathObject) {
        double maxDiam = measurement(pathObject, "Max diameter µm")
        double minDiam = measurement(pathObject, "Min diameter µm")
        double area = measurement(pathObject, "Area µm^2")
        double length = measurement(pathObject, "Length µm")

        return area * 2 * Math.sqrt( maxDiam * maxDiam * 2 + minDiam * minDiam * 2) / length / minDiam / maxDiam
    }


}

runObjectClassifier("FINAL classifier");

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: regular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: irregular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: regular: bigarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: thin: irregular: bigarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: regular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: irregular: smallarea")){
    it.setPathClass(getPathClass("small coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: regular: bigarea")){
    it.setPathClass(getPathClass("regular big coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("coopted: large: irregular: bigarea")){
    it.setPathClass(getPathClass("irregular big coopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: regular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: irregular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: regular: bigarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: thin: irregular: bigarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: regular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: irregular: smallarea")){
    it.setPathClass(getPathClass("small uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: regular: bigarea")){
    it.setPathClass(getPathClass("regular big uncoopted"))
  }
}

getDetectionObjects().each{
  if (it.getPathClass() == getPathClass("uncoopted: large: irregular: bigarea")){
    it.setPathClass(getPathClass("irregular big uncoopted"))
  }
}


resolveHierarchy()

getAnnotationObjects().forEach{ tile ->
    def children = tile.getChildObjects()
    def nDetections = tile.nChildObjects()
    if (nDetections == 0)
        return

    def sums = ["VCO": 0,
        "regBigCoopted": 0,
        "regBigUncoopted": 0,
        "VCORegBigCoopted": 0,
        "VCORegBigUncoopted": 0,
    ]

    children.forEach{ child ->
        def m = child.getMeasurementList()

        sums["VCO"] += m.getMeasurementValue("VCO")
        sums["regBigCoopted"] += m.getMeasurementValue("Num regular big coopted")
        sums["regBigUncoopted"] += m.getMeasurementValue("Num regular big uncoopted")

        if (child.getName().equals("regular big coopted")) // Is this the name for regular big coopted detections?
            sums["VCORegBigCoopted"] += m.getMeasurementValue("VCO")

        if (child.getName().equals("regular big uncoopted")) // Is this the name for regular big uncoopted detections?
            sums["VCORegBigUncoopted"] += m.getMeasurementValue("Num irregular big uncoopted")
   
    }
 def totalMeanVCO = (sums["VCO"]/nDetections)
def rbVCOMean = (sums["VCORegBigCoopted"]+sums["VCORegBigUncoopted"])/(sums["regBigCoopted"]+sums["regBigUncoopted"])

tile.getMeasurementList().putMeasurement("Total mean VCO", totalMeanVCO)
tile.getMeasurementList().putMeasurement("rbVCO mean", rbVCOMean)
print m.getMeasurementValue("Num irregular big uncoopted")
print m.getMeasurementValue("Num regular big coopted")
print m.getMeasurementValue("Num regular big uncoopted")
print("Is this a division by zero? " + ((sums["regBigCoopted"]+sums["regBigUncoopted"]) != 0))
 }
print "Done!"

detections = []
getAnnotationObjects().each{
    detections << PathObjects.createDetectionObject(it.getROI(), it.getPathClass(), it.getMeasurementList())
}
addObjects(detections)

resolveHierarchy()

ANd this is the error message:

INFO: Processing complete in 0,01 seconds
INFO: Completed!
INFO: 200 nuclei detected (processing time: 16,66 seconds)
INFO: 307 nuclei detected (processing time: 16,79 seconds)
INFO: 428 nuclei detected (processing time: 17,15 seconds)
INFO: 430 nuclei detected (processing time: 17,63 seconds)
INFO: 14 nuclei detected (processing time: 2,10 seconds)
INFO: 441 nuclei detected (processing time: 10,70 seconds)
INFO: 345 nuclei detected (processing time: 11,84 seconds)
INFO: 254 nuclei detected (processing time: 9,63 seconds)
INFO: 206 nuclei detected (processing time: 12,21 seconds)
INFO: 603 nuclei detected (processing time: 9,19 seconds)
INFO: 514 nuclei detected (processing time: 9,55 seconds)
INFO: 649 nuclei detected (processing time: 9,58 seconds)
INFO: 17 nuclei detected (processing time: 1,15 seconds)
INFO: 683 nuclei detected (processing time: 10,75 seconds)
INFO: 605 nuclei detected (processing time: 8,51 seconds)
INFO: 419 nuclei detected (processing time: 9,04 seconds)
INFO: 507 nuclei detected (processing time: 7,56 seconds)
INFO: 879 nuclei detected (processing time: 8,11 seconds)
INFO: 831 nuclei detected (processing time: 6,99 seconds)
INFO: 1198 nuclei detected (processing time: 7,66 seconds)
INFO: 23 nuclei detected (processing time: 0,77 seconds)
INFO: 971 nuclei detected (processing time: 8,89 seconds)
INFO: 771 nuclei detected (processing time: 12,02 seconds)
INFO: 423 nuclei detected (processing time: 10,34 seconds)
INFO: Processing complete in 62,60 seconds
INFO: Completed!
INFO: Processing complete in 14,85 seconds
INFO: Completed!
WARN: Resolving hierarchy that contains 758 annotations and 10821 detections - this may be slow!
WARN: Resolving hierarchy that contains 758 annotations and 10821 detections - this may be slow!
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 1 (Rectangle) (Tile) (185/226 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 2 (Rectangle) (Tile) (236/311 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 3 (Rectangle) (Tile) (311/427 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 4 (Rectangle) (Tile) (319/402 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 5 (Rectangle) (Tile) (322/408 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 6 (Rectangle) (Tile) (246/328 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 7 (Rectangle) (Tile) (194/231 objects)
INFO: Tile 8 (Rectangle) (Tile) (14/15 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: 185 (Polygon) (Vessel) (8 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 9 (Rectangle) (Tile) (230/307 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 10 (Rectangle) (Tile) (429/585 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 11 (Rectangle) (Tile) (391/513 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 12 (Rectangle) (Tile) (553/624 objects)
INFO: Tile 13 (Rectangle) (Tile) (630/668 objects)
INFO: Tile 13 (Rectangle) (Tile) (630/668 objects)
INFO: Tile 13 (Rectangle) (Tile) (630/668 objects)
INFO: Tile 13 (Rectangle) (Tile) (630/668 objects)
INFO: Tile 13 (Rectangle) (Tile) (630/668 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 14 (Rectangle) (Tile) (501/579 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 15 (Rectangle) (Tile) (366/409 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 17 (Rectangle) (Tile) (357/487 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 18 (Rectangle) (Tile) (783/863 objects)
INFO: Tile 19 (Rectangle) (Tile) (784/830 objects)
INFO: Tile 19 (Rectangle) (Tile) (784/830 objects)
INFO: Tile 19 (Rectangle) (Tile) (784/830 objects)
INFO: Tile 19 (Rectangle) (Tile) (784/830 objects)
INFO: Tile 19 (Rectangle) (Tile) (784/830 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 20 (Rectangle) (Tile) (1103/1199 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 21 (Rectangle) (Tile) (860/962 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 22 (Rectangle) (Tile) (608/718 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 23 (Rectangle) (Tile) (358/420 objects)
INFO: Tile 24 (Rectangle) (Tile) (17/26 objects)
INFO: Tile 24 (Rectangle) (Tile) (17/26 objects)
INFO: Tile 24 (Rectangle) (Tile) (17/26 objects)
INFO: Tile 24 (Rectangle) (Tile) (17/26 objects)
INFO: Tile 24 (Rectangle) (Tile) (17/26 objects)
ERROR: I cannot find 'm'!

ERROR: MissingPropertyException at line 292: No such property: m for class: Script2

ERROR: org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
    org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:51)
    org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:341)
    Script2$_run_closure30.doCall(Script2.groovy:325)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.base/java.lang.reflect.Method.invoke(Unknown Source)
    org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
    groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
    org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
    groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1029)
    groovy.lang.Closure.call(Closure.java:412)
    org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:50)
    org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:110)
    com.sun.proxy.$Proxy28.accept(Unknown Source)
    java.base/java.util.ArrayList.forEach(Unknown Source)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.base/java.lang.reflect.Method.invoke(Unknown Source)
    org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
    org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrap.invoke(PojoMetaMethodSite.java:203)
    org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
    org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
    org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
    org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139)
    Script2.run(Script2.groovy:293)
    org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:317)
    org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:155)
    qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:926)
    qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:859)
    qupath.lib.gui.scripting.DefaultScriptEditor.executeScript(DefaultScriptEditor.java:782)
    qupath.lib.gui.scripting.DefaultScriptEditor$2.run(DefaultScriptEditor.java:1271)
    java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    java.base/java.lang.Thread.run(Unknown Source)


You placed the print statements after the measurement list no longer exists. It has to be within the bracketed statement where m is created, which starts with children.forEach{ child->

2 Likes

@melvingelbard @Research_Associate

First part:

INFO: Processing complete in 0,02 seconds
INFO: Completed!
INFO: 195 nuclei detected (processing time: 4,97 seconds)
INFO: 264 nuclei detected (processing time: 5,02 seconds)
INFO: 221 nuclei detected (processing time: 5,22 seconds)
INFO: 81 nuclei detected (processing time: 5,80 seconds)
INFO: 230 nuclei detected (processing time: 3,10 seconds)
INFO: 285 nuclei detected (processing time: 4,57 seconds)
INFO: 261 nuclei detected (processing time: 4,44 seconds)
INFO: 391 nuclei detected (processing time: 5,64 seconds)
INFO: 519 nuclei detected (processing time: 5,00 seconds)
INFO: 563 nuclei detected (processing time: 5,35 seconds)
INFO: 664 nuclei detected (processing time: 5,47 seconds)
INFO: 555 nuclei detected (processing time: 5,94 seconds)
INFO: 148 nuclei detected (processing time: 3,76 seconds)
INFO: 441 nuclei detected (processing time: 6,46 seconds)
INFO: 338 nuclei detected (processing time: 4,59 seconds)
INFO: 698 nuclei detected (processing time: 5,69 seconds)
INFO: 434 nuclei detected (processing time: 4,99 seconds)
INFO: 699 nuclei detected (processing time: 5,18 seconds)
INFO: 699 nuclei detected (processing time: 5,18 seconds)
INFO: 286 nuclei detected (processing time: 2,46 seconds)
INFO: 639 nuclei detected (processing time: 4,19 seconds)
INFO: Processing complete in 26,49 seconds
INFO: Completed!
INFO: Processing complete in 193,38 seconds
INFO: Completed!
WARN: Resolving hierarchy that contains 719 annotations and 7855 detections - this may be slow!
WARN: Resolving hierarchy that contains 719 annotations and 7855 detections - this may be slow!
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 1 (Rectangle) (Tile) (193/230 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 2 (Rectangle) (Tile) (99/110 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 3 (Rectangle) (Tile) (248/295 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 4 (Rectangle) (Tile) (207/230 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 5 (Rectangle) (Tile) (323/385 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 6 (Rectangle) (Tile) (229/283 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 7 (Rectangle) (Tile) (213/233 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 8 (Rectangle) (Tile) (241/301 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 9 (Rectangle) (Tile) (331/486 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 10 (Rectangle) (Tile) (405/541 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 11 (Rectangle) (Tile) (474/599 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 12 (Rectangle) (Tile) (470/532 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 13 (Rectangle) (Tile) (332/429 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 14 (Rectangle) (Tile) (131/155 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: 286 (Geometry) (Vessel) (12 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 15 (Rectangle) (Tile) (227/348 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 16 (Rectangle) (Tile) (566/695 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 17 (Rectangle) (Tile) (375/439 objects)
INFO: Tile 18 (Rectangle) (Tile) (658/700 objects)
INFO: Tile 18 (Rectangle) (Tile) (658/700 objects)
INFO: Tile 18 (Rectangle) (Tile) (658/700 objects)
INFO: Tile 18 (Rectangle) (Tile) (658/700 objects)
INFO: Tile 18 (Rectangle) (Tile) (658/700 objects)
INFO: Tile 18 (Rectangle) (Tile) (658/700 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 19 (Rectangle) (Tile) (638/698 objects)
INFO: Tile 20 (Rectangle) (Tile) (499/579 objects)
INFO: Tile 20 (Rectangle) (Tile) (499/579 objects)
INFO: Tile 20 (Rectangle) (Tile) (499/579 objects)
INFO: Tile 21 (Geometry) (Tile) (257/285 objects)
INFO: Tile 21 (Geometry) (Tile) (257/285 objects)
INFO: Tile 21 (Geometry) (Tile) (257/285 objects)
INFO: Tile 21 (Geometry) (Tile) (257/285 objects)
INFO: Tile 21 (Geometry) (Tile) (257/285 objects)
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true


second part:

INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: NaN
INFO: NaN
INFO: NaN
INFO: Is this a division by zero? true
INFO: Done!

Just checking here, but you are getting all of your annotation objects.
Then EVERY child object within them is being checked for the measurements “Num something or another”
Does that make sense? Are you expecting the objects below the tiles to have summary numbers? Or are you expecting the tiles to have the summary numbers? It seems you are looking in the wrong place for the measurements to me, though it is impossible for us to tell without the hierarchy.

I would like that for each Annotation Tile the parameters concerning the detections contained in that Tile are calculated.

Then I would like to transform each Tile into detection to display it in the measurements map with the various colors.

Here is an example of the Tile Cellular Density:

Same thing I would like to do with various parameters concerning vessels.
Here, for example, I have the total VCO mean (which takes into account all classes of vessels), it seems to work quite well (“enough” because a tile is not colored)