Created
March 11, 2022 12:08
-
-
Save lacan/d648271b8281131372825185b4ea4318 to your computer and use it in GitHub Desktop.
[Export Rendered View] Exports the WYSIWYG version of a certain region as a jpeg with a metadata field appended to the image name. Works with Run for Project #qupath
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Export Rendered view of S1HL as open in QuPath with metadata tag in file name | |
// Author: Olivier Burri | |
// originally for Julie Meystre, LNMC | |
// Date: 2022 03 11 | |
// NOTE: Make sure that all settings are as you want them on a currently open image (Channels, hidden Pathclasses, Annotation names, ...) before you start, as your current display and layer settings will be applied to all image if you use "Run for Project" | |
def downsample = 5 | |
def regionClass = "S1HL" | |
def metadataName = "Distance to midline" | |
def value = getProjectEntryMetadataValue( metadataName ) | |
def saveDir = new File( Projects.getBaseDirectory( getProject() ), "rendered" ) | |
saveDir.mkdirs() | |
def server = getCurrentServer() | |
def viewer = getCurrentViewer() | |
def imageData = getCurrentImageData() | |
// Build a rendered server with the settings that are currently open (the viewer) but on another image (the imageData) | |
def renderedServer = new RenderedImageServer.Builder( imageData ) | |
.renderer( viewer.getImageDisplay() ) | |
.layers( viewer.getOverlayLayers() ).build() | |
// Build the request for the S1H1 Region | |
def roi = getAnnotationObjects().find{ it.getPathClass() == getPathClass( regionClass ) }.getROI() | |
def request = RegionRequest.createInstance( renderedServer.getPath(), downsample, roi ) | |
// Finally write it | |
def imageName = getProjectEntry().getImageName()+"_"+value+"_rendered.jpg" | |
ImageWriterTools.writeImageRegion( renderedServer, request, new File( saveDir, imageName ).getAbsolutePath() ); | |
import qupath.lib.gui.images.servers.* |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment