- Script: setImageType('FLUORESCENCE'); setChannelNames( 'DAPI', 'FITC', 'Cy5', ) selectAnnotations(); import qupath.ext.stardist.StarDist2D // Specify the model file (you will need to change this!) var pathModel = 'select/your/path/dsb2018_heavy_augment.pb' var stardist = StarDist2D.builder(pathModel) .threshold(0.6) // Probability (detection) threshold .channels('DAPI') // Select detection channel .normalizePercentiles(1, 99) // Percentile normalization .pixelSize(0.3) // Resolution for detection .cellExpansion(2.0) // Approximate cells based upon nucleus expansion .cellConstrainScale(1.5) // Constrain cell expansion using nucleus size .measureShape() // Add shape measurements .measureIntensity() // Add cell measurements (in all compartments) .includeProbability(true) // Add probability as a measurement (enables later filtering) .build() // Run detection for the selected objects var imageData = getCurrentImageData() var pathObjects = getSelectedObjects() if (pathObjects.isEmpty()) { Dialogs.showErrorMess1age("StarDist", "Please select a parent object!") return } stardist.detectObjects(imageData, pathObjects) println 'Done!' // delete cells with size < X and > Y. def toDelete = getDetectionObjects().findAll {measurement(it, 'Nucleus: Area µm^2') > 200} removeObjects(toDelete, true) runObjectClassifier("aSMAclassifier"); ----------------------------------------------------------------------------------------- - Object classifier for ⍺SMA: { "object_classifier_type": "OpenCVMLClassifier", "featureExtractor": { "feature_extractor_type": "DefaultFeatureExtractor", "measurements": [ "Detection probability", "Nucleus: Area µm^2", "Nucleus: Length µm", "Nucleus: Circularity", "Nucleus: Solidity", "Nucleus: Max diameter µm", "Nucleus: Min diameter µm", "Cell: Area µm^2", "Cell: Length µm", "Cell: Circularity", "Cell: Solidity", "Cell: Max diameter µm", "Cell: Min diameter µm", "Nucleus/Cell area ratio", "DAPI: Nucleus: Mean", "DAPI: Nucleus: Median", "DAPI: Nucleus: Min", "DAPI: Nucleus: Max", "DAPI: Nucleus: Std.Dev.", "DAPI: Cytoplasm: Mean", "DAPI: Cytoplasm: Median", "DAPI: Cytoplasm: Min", "DAPI: Cytoplasm: Max", "DAPI: Cytoplasm: Std.Dev.", "DAPI: Membrane: Mean", "DAPI: Membrane: Median", "DAPI: Membrane: Min", "DAPI: Membrane: Max", "DAPI: Membrane: Std.Dev.", "DAPI: Cell: Mean", "DAPI: Cell: Median", "DAPI: Cell: Min", "DAPI: Cell: Max", "DAPI: Cell: Std.Dev.", "FITC: Nucleus: Mean", "FITC: Nucleus: Median", "FITC: Nucleus: Min", "FITC: Nucleus: Max", "FITC: Nucleus: Std.Dev.", "FITC: Cytoplasm: Mean", "FITC: Cytoplasm: Median", "FITC: Cytoplasm: Min", "FITC: Cytoplasm: Max", "FITC: Cytoplasm: Std.Dev.", "FITC: Membrane: Mean", "FITC: Membrane: Median", "FITC: Membrane: Min", "FITC: Membrane: Max", "FITC: Membrane: Std.Dev.", "FITC: Cell: Mean", "FITC: Cell: Median", "FITC: Cell: Min", "FITC: Cell: Max", "FITC: Cell: Std.Dev.", "Cy5: Nucleus: Mean", "Cy5: Nucleus: Median", "Cy5: Nucleus: Min", "Cy5: Nucleus: Max", "Cy5: Nucleus: Std.Dev.", "Cy5: Cytoplasm: Mean", "Cy5: Cytoplasm: Median", "Cy5: Cytoplasm: Min", "Cy5: Cytoplasm: Max", "Cy5: Cytoplasm: Std.Dev.", "Cy5: Membrane: Mean", "Cy5: Membrane: Median", "Cy5: Membrane: Min", "Cy5: Membrane: Max", "Cy5: Membrane: Std.Dev.", "Cy5: Cell: Mean", "Cy5: Cell: Median", "Cy5: Cell: Min", "Cy5: Cell: Max", "Cy5: Cell: Std.Dev." ] }, "classifier": { "class": "RTrees", "statmodel": { "opencv_ml_rtrees": { "format": 3, "is_classifier": 1, "var_all": 75, "var_count": 74, "ord_var_count": 74, "cat_var_count": 1, "training_params": { "use_surrogates": 0, "max_categories": 10, "regression_accuracy": 0.0, "max_depth": 25, "min_sample_count": 10, "cross_validation_folds": 0, "nactive_vars": 0 }, "global_var_idx": 1, "var_idx": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73 ], "var_type": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ], "cat_ofs": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "class_labels": [ 0, 1 ], "missing_subst": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ], "oob_error": 0.0, "ntrees": 50, "trees": [ { "nodes": [ { "depth": 0, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 48, "quality": 1.7726640319824219e+02, "le": 4.2557391357421875e+02 } ] }, { "depth": 1, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 50, "quality": 1.2210659790039062e+02, "le": 786.0 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 49, "quality": 9.6454544067382812e+01, "le": 5.6374407958984375e+02 } ] }, { "depth": 3, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 34, "quality": 2.0105262756347656e+01, "le": 5.6899218750000000e+02 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 25, "quality": 19.0, "le": 2.9825000000000000e+02 } ] }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 5, "value": 1.0, "norm_class_idx": 1 }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 28, "quality": 3.5220687866210938e+01, "le": 1.1810309600830078e+02 } ] }, { "depth": 3, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 46, "quality": 1.6476190567016602e+01, "le": 654.0 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 57, "quality": 14.0, "le": 1.5050000000000000e+02 } ] }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 5, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 46, "quality": 2.5285715103149414e+01, "le": 1101.0 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 50, "quality": 2.6074073791503906e+01, "le": 800.0 } ] }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 5, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 71, "quality": 27.0, "le": 2.6500000000000000e+01 } ] }, { "depth": 6, "value": 0.0, "norm_class_idx": 0 }, { "depth": 6, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 1, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 49, "quality": 6.2882354736328125e+01, "le": 9.5719738769531250e+02 } ] }, { "depth": 2, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 49, "quality": 1.5399999618530273e+01, "le": 9.0951586914062500e+02 } ] }, { "depth": 3, "value": 0.0, "norm_class_idx": 0 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1 }, { "depth": 2, "value": 0.0, "norm_class_idx": 0 } ] }, { "nodes": [ { "depth": 0, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 44, "quality": 1.6088247680664062e+02, "le": 6.5589831542968750e+02 } ] }, { "depth": 1, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 43, "quality": 9.9555557250976562e+01, "le": 1.7320492553710938e+02 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1 }, { "depth": 2, "value": 0.0, "norm_class_idx": 0 }, { "depth": 1, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 31, "quality": 8.1277778625488281e+01, "le": 380.0 } ] }, { "depth": 2, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 6, "quality": 7.1266540527343750e+01, "le": 5.5111465454101562e+00 } ] }, { "depth": 3, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 48, "quality": 64.0, "le": 2.1717179870605469e+02 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 32, "quality": 1.5166666984558105e+01, "le": 1036.0 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 38, "quality": 12.0, "le": 4.2410260009765625e+02 } ] }, { "depth": 5, "value": 1.0, "norm_class_idx": 1 }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 47, "quality": 3.2296295166015625e+01, "le": 2.3965000000000000e+03 } ] }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 26, "quality": 27.0, "le": 1135.0 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 3, "value": 0.0, "norm_class_idx": 0 } ] }, { "nodes": [ { "depth": 0, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 42, "quality": 1.7630934143066406e+02, "le": 2203.0 } ] }, { "depth": 1, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 43, "quality": 1.1382419586181641e+02, "le": 2.1682174682617188e+02 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 55, "quality": 97.0, "le": 8.3500000000000000e+01 } ] }, { "depth": 3, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 16, "quality": 1.4153845787048340e+01, "le": 678.0 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 16, "quality": 13.0, "le": 3.1250000000000000e+02 } ] }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 5, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 31, "quality": 3.1857143402099609e+01, "le": 391.0 } ] }, { "depth": 3, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 7, "quality": 1.9500000000000000e+01, "le": 7.0228622436523438e+01 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1 }, { "depth": 1, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 25, "quality": 7.5224998474121094e+01, "le": 1.8682500000000000e+03 } ] }, { "depth": 2, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 43, "quality": 7.8500000000000000e+01, "le": 3.3113467407226562e+02 } ] }, { "depth": 3, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 0.0, "norm_class_idx": 0 }, { "depth": 2, "value": 1.0, "norm_class_idx": 1 } ] }, { "nodes": [ { "depth": 0, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 38, "quality": 1.6470909118652344e+02, "le": 3.0176156616210938e+02 } ] }, { "depth": 1, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 48, "quality": 1.2971058654785156e+02, "le": 2.8654046630859375e+02 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 43, "quality": 1.0450000000000000e+02, "le": 1.6909840393066406e+02 } ] }, { "depth": 3, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 37, "quality": 1.6533332824707031e+01, "le": 1379.0 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 49, "quality": 15.0, "le": 1.4019990234375000e+03 } ] }, { "depth": 5, "value": 1.0, "norm_class_idx": 1 }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 2, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 2, "quality": 3.7103446960449219e+01, "le": 2.2482658386230469e+01 } ] }, { "depth": 3, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 62, "quality": 2.7399999618530273e+01, "le": 121.0 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 40, "quality": 2.0399999618530273e+01, "le": 1.2945000000000000e+03 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 13, "quality": 1.8666666030883789e+01, "le": 4.8917216062545776e-01 } ] }, { "depth": 5, "value": 0.0, "norm_class_idx": 0 }, { "depth": 5, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 1, "value": 0.0, "norm_class_idx": 0 } ] }, { "nodes": [ { "depth": 0, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 53, "quality": 1.8793705749511719e+02, "le": 3.3851089477539062e+02 } ] }, { "depth": 1, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 39, "quality": 1.2615714263916016e+02, "le": 1.4726281738281250e+03 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 53, "quality": 1.2783512878417969e+02, "le": 2.4702407836914062e+02 } ] }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 61, "quality": 1.1628571319580078e+02, "le": 6.1500000000000000e+01 } ] }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 3, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 28, "quality": 22.0, "le": 8.6828308105468750e+01 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 1.0, "norm_class_idx": 1 }, { "depth": 2, "value": 0.0, "norm_class_idx": 0 }, { "depth": 1, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 52, "quality": 7.2509590148925781e+01, "le": 2.0975000000000000e+03 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1 }, { "depth": 2, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 7, "quality": 7.0028167724609375e+01, "le": 1.8787567138671875e+02 } ] }, { "depth": 3, "value": 0.0, "norm_class_idx": 0, "splits": [ { "var": 7, "quality": 6.9333335876464844e+01, "le": 2.9363977432250977e+01 } ] }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 4, "value": 0.0, "norm_class_idx": 0 }, { "depth": 3, "value": 0.0, "norm_class_idx": 0 } ] }, { "nodes": [ { "depth": 0, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 43, "quality": 1.8537779235839844e+02, "le": 3.8836090087890625e+02 } ] }, { "depth": 1, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 43, "quality": 1.1750820922851562e+02, "le": 1.6909840393066406e+02 } ] }, { "depth": 2, "value": 1.0, "norm_class_idx": 1, "splits": [ { "var": 71, "quality": 9.6500000000000000e+01, "le": 6.1500000000000000e+01 } ] }, { "depth": 3, "value": 1.0,