Skip to content

Instantly share code, notes, and snippets.


MicroscopyRA Svidro

View GitHub Profile
View !Exporting images
Image exporting in QuPath
Note, this is likely a mess, and I won't be able to provide much support since I don't do this much,
but requests are common and I have trouble tracking things down each time.
Added a script from the forum for importing binary masks as annotations.
View !Complex scripts
Scripts that are complex enough not to fit in any of the other simple categories.
Affine transform objects between images.groovy - used with the Align images experimental tool in v0.2.0m1
Background staining check - Takes annotations, expands an area around them, checks the staining level in that area,
then deletes all expanded areas and any original areas that violate some condition. Can help check for staining artifacts.
Classifier with GUI.groovy - User interface based macro to simplify classifying many possible channels. Also generates all
possible combinations of base classes (double, triple, etc positives).
Svidro / !Modifying QuPath
Last active May 16, 2019
Edited Java files
View !Modifying QuPath
Files from QuPath that can be swapped in place of their default counterparts using Gradle for alternate functionality.
Now adding modifications to the UI
TOC - Changes the tiling size to work better for high resolution images where the tiles might break up
too many individual cells.
Add button.groovy - script that adds a button to the UI that... can do things. If you make it do them. - Gives users the ability to choose weights for various stains when detecting cells. This is in addition to
View !Removing things in QuPath
Scripts mostly taken from Pete, and also from the forums. For easy access and reference.
Remove detections outside annotations.groovy - Removes detections without a parent object.
Removing measurements by Weka file.groovy - Uses the results of Weka classification analysis of your training set
to select the "best" measurements plus any specific ones you want to keep. Then it removes the rest. Use this to clean up
large amounts measurements like LBP, Haralick, Smoothed etc.
View !Manipulating objects in QuPath
Scripts mostly taken from Pete, and also from the forums. For easy access and reference.
Alignment: Several scripts to assist in alignment as of M9. Store scripts make files using the Affine transformation while
TransferObjects uses the stored file in the Affine folder with the current image name to move objects into it.
The final result is that one set of files can be generated for the transforms, and those transforms can be accessed to move objects
back and forth between the images.
Change annotations into Cell objects.groovy - Converts annotations into PathCellObjects, which allows certian functions to work within
Svidro / !Selecting Objects in QuPath
Last active Aug 19, 2020
Selecting things in QuPath
View !Selecting Objects in QuPath
Scripts mostly taken from Pete, and also from the forums. For easy access and reference.
Covers both Selecting, which is necessary to run most commands like cell detection, and collecting objects into a variable
for processing. The latter is more efficient when you do not need to run a command like cell detection.
A Selection guide.groovy - not actually a script, just a collection of useful tips.
Access top level objects.groovy - Creates a list of all objects at the "top" of the hierarchy. This list is dynamic.
Svidro / !Classifying objects in QuPath
Last active Jun 16, 2020
Classification based groovy scripts for QuPath
View !Classifying objects in QuPath
Collection of scripts mostly from Pete, but also taken from the forums. Note you can always run a saved classifier using the
runClassifier() command, with the file path included as a string.
A simple cell classifier.groovy - One way to classify cells.
A simple classifier 2.groovy - Another way.
Annotation Classifications to Name field.groovy - Sets the Name of the annotation to its classification. Useful for applying a second
Svidro / !Creating Objects in QuPath
Last active Sep 24, 2020
Creating objects in QuPath
View !Creating Objects in QuPath
Collections of scripts harvested mainly from Pete, but also picked up from the forums
Annotation subtraction example.groovy - An example of creating and subtracing ROIs through scripting
Create annotation of fixed size.groovy - see
Create object based on Viewer position.groovy - Creates an object at the Viewer position. In this case a rectangle. Useful if you want
to create the exact same size object multiple times and then move it to an area of interest for subsampling.
Svidro / !Changing colors in QuPath
Last active Sep 22, 2020
Color changes in QuPath
View !Changing colors in QuPath
Collections of scripts to alter object colors harvested mainly from Pete, but also picked up from the forums
Adjust fluorescence contrast.groovy - Adjusts the display channels. Only works if the image is currently visible. Version 0.1.3 saves
these changes once made, but this can keep consistent display coloring between images.
Change IF channel color.groovy - Change the LUT for individual channels. Does not work with OpenSlide servers (check Image tab).
Change colors by subclass.groovy - Detection object color adjustment when using subclasses.
Svidro / !Making Measurements in QuPath
Last active Sep 9, 2020
Making Measurements in QuPath
View !Making Measurements in QuPath
Collections of scripts harvested mainly from Pete, but also picked up from the forums
Accessing dynamic measurements.groovy - Most annotation measurements are dynamically created when you click on the annotation, and
are not accessible through the standard getMeasurement function. This is a way around that.
Affine transformation.groovy - access more accurate measurements for the affine transformation used in the image alignment (m5/m6+)
Alignment of local cells.groovy - check neighborhood for similarly aligned cells
You can’t perform that action at this time.