Skip to content

Commit c37627f

Browse files
use methods from GeneralTools for getting filename (#1483)
1. delete `Utils.getFileName` and `Utils.getNameWithoutExtension` 2. get filename by `GeneralTools.toPath` from URIs. 3. get file extension by `GeneralTools.getExtension(File)` this fix #1480 Signed-off-by: Butui Hu <[email protected]> Co-authored-by: SACHIDANAND ALLE <[email protected]>
1 parent 0251684 commit c37627f

File tree

6 files changed

+29
-32
lines changed

6 files changed

+29
-32
lines changed

plugins/qupath/src/main/java/qupath/lib/extension/monailabel/InteractorTool.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.slf4j.LoggerFactory;
88

99
import javafx.scene.input.MouseEvent;
10+
import qupath.lib.common.GeneralTools;
1011
import qupath.lib.extension.monailabel.MonaiLabelClient.ResponseInfo;
1112
import qupath.lib.extension.monailabel.commands.RunInference;
1213
import qupath.lib.gui.dialogs.Dialogs;
@@ -59,9 +60,10 @@ public void mousePressed(MouseEvent e) {
5960
model = names.get(0);
6061
}
6162

62-
String imageFile = Utils.getFileName(viewer.getImageData().getServerPath());
63-
String im = imageFile.toLowerCase();
64-
boolean isWSI = (im.endsWith(".png") || im.endsWith(".jpg") || im.endsWith(".jpeg")) ? false : true;
63+
var uris = viewer.getImageData().getServer().getURIs();
64+
String imageFile = GeneralTools.toPath(uris.iterator().next()).toString();
65+
String ext = GeneralTools.getExtension(imageFile).get().toLowerCase();
66+
boolean isWSI = !(ext.equals(".png") || ext.equals(".jpg") || ext.equals(".png"));
6567
logger.info("MONAILabel:: isWSI: " + isWSI + "; File: " + imageFile);
6668

6769
if (model == null || model.isEmpty()) {

plugins/qupath/src/main/java/qupath/lib/extension/monailabel/SegmentationTool.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.slf4j.LoggerFactory;
88

99
import javafx.scene.input.MouseEvent;
10+
import qupath.lib.common.GeneralTools;
1011
import qupath.lib.extension.monailabel.MonaiLabelClient.ResponseInfo;
1112
import qupath.lib.extension.monailabel.commands.RunInference;
1213
import qupath.lib.gui.dialogs.Dialogs;
@@ -40,9 +41,10 @@ public void mouseReleased(MouseEvent e) {
4041
return;
4142

4243
try {
43-
String imageFile = Utils.getFileName(viewer.getImageData().getServerPath());
44-
String im = imageFile.toLowerCase();
45-
boolean isWSI = (im.endsWith(".png") || im.endsWith(".jpg") || im.endsWith(".jpeg")) ? false : true;
44+
var uris = viewer.getImageData().getServer().getURIs();
45+
String imageFile = GeneralTools.toPath(uris.iterator().next()).toString();
46+
String ext = GeneralTools.getExtension(imageFile).get().toLowerCase();
47+
boolean isWSI = !(ext.equals(".png") || ext.equals(".jpg") || ext.equals(".png"));
4648
logger.info("MONAILabel:: isWSI: " + isWSI + "; File: " + imageFile);
4749

4850
if (info == null) {

plugins/qupath/src/main/java/qupath/lib/extension/monailabel/Utils.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
package qupath.lib.extension.monailabel;
1515

16-
import java.io.File;
1716
import java.io.IOException;
1817
import java.nio.file.Files;
1918
import java.nio.file.Path;
@@ -25,21 +24,6 @@
2524

2625
public class Utils {
2726

28-
public static String getFileName(String file) {
29-
if (file.indexOf("file:/") >= 0)
30-
file = file.substring(file.indexOf("file:/") + "file:/".length());
31-
32-
int pos = file.indexOf("[");
33-
file = file.substring(0, pos > 0 ? pos : file.length());
34-
return file;
35-
}
36-
37-
public static String getNameWithoutExtension(String file) {
38-
String fileName = new File(file).getName();
39-
int dotIndex = fileName.lastIndexOf('.');
40-
return (dotIndex == -1) ? fileName : fileName.substring(0, dotIndex);
41-
}
42-
4327
public static int[] getBBOX(ROI roi) {
4428
int x = 0, y = 0, w = 0, h = 0;
4529
if (roi != null && roi instanceof RectangleROI) {

plugins/qupath/src/main/java/qupath/lib/extension/monailabel/commands/NextSample.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
2323

24+
import qupath.lib.common.GeneralTools;
2425
import qupath.lib.extension.monailabel.MonaiLabelClient;
2526
import qupath.lib.extension.monailabel.MonaiLabelClient.NextSampleInfo;
2627
import qupath.lib.extension.monailabel.MonaiLabelClient.ResponseInfo;
@@ -50,7 +51,12 @@ public void run() {
5051
try {
5152
var viewer = qupath.getViewer();
5253
var imageData = viewer.getImageData();
53-
String image = imageData != null ? Utils.getNameWithoutExtension(imageData.getServerPath()) : "";
54+
String image = "";
55+
if (imageData != null) {
56+
var uris = imageData.getServer().getURIs();
57+
File imageFile = GeneralTools.toPath(uris.iterator().next()).toFile();
58+
image = GeneralTools.getNameWithoutExtension(imageFile);
59+
}
5460

5561
ResponseInfo info = MonaiLabelClient.info();
5662
List<String> names = new ArrayList<String>();

plugins/qupath/src/main/java/qupath/lib/extension/monailabel/commands/RunInference.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.xml.sax.SAXException;
3636

3737
import javafx.concurrent.Task;
38+
import qupath.lib.common.GeneralTools;
3839
import qupath.lib.extension.monailabel.MonaiLabelClient;
3940
import qupath.lib.extension.monailabel.MonaiLabelClient.RequestInfer;
4041
import qupath.lib.extension.monailabel.MonaiLabelClient.ResponseInfo;
@@ -84,9 +85,10 @@ public void run() {
8485
return;
8586
}
8687

87-
String imageFile = Utils.getFileName(viewer.getImageData().getServerPath());
88-
String im = imageFile.toLowerCase();
89-
boolean isWSI = !im.endsWith(".png") && !im.endsWith(".jpg") && !im.endsWith(".jpeg");
88+
var uris = imageData.getServer().getURIs();
89+
String imageFile = GeneralTools.toPath(uris.iterator().next()).toString();
90+
String ext = GeneralTools.getExtension(imageFile).get().toLowerCase();
91+
boolean isWSI = !(ext.equals(".png") || ext.equals(".jpg") || ext.equals(".png"));
9092
logger.info("MONAILabel:: isWSI: " + isWSI + "; File: " + imageFile);
9193

9294
// Select first RectangleROI if not selected explicitly
@@ -230,7 +232,7 @@ public static void runInference(String model, ResponseInfo info, int[] bbox, int
230232

231233
ROI roi = ROIs.createRectangleROI(bbox[0], bbox[1], bbox[2], bbox[3], null);
232234

233-
String image = Utils.getNameWithoutExtension(imageFile);
235+
String image = GeneralTools.getNameWithoutExtension(new File(imageFile));
234236
String sessionId = null;
235237
int offsetX = 0;
236238
int offsetY = 0;

plugins/qupath/src/main/java/qupath/lib/extension/monailabel/commands/SubmitLabel.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.w3c.dom.Document;
3838
import org.w3c.dom.Element;
3939

40+
import qupath.lib.common.GeneralTools;
4041
import qupath.lib.extension.monailabel.MonaiLabelClient;
4142
import qupath.lib.extension.monailabel.MonaiLabelClient.ImageInfo;
4243
import qupath.lib.extension.monailabel.Utils;
@@ -67,11 +68,11 @@ public void run() {
6768
try {
6869
var viewer = qupath.getViewer();
6970
var imageData = viewer.getImageData();
70-
String imageFile = Utils.getFileName(imageData.getServerPath());
71-
String image = Utils.getNameWithoutExtension(imageFile);
72-
73-
String im = imageFile.toLowerCase();
74-
boolean isWSI = (im.endsWith(".png") || im.endsWith(".jpg") || im.endsWith(".jpeg")) ? false : true;
71+
var uris = imageData.getServer().getURIs();
72+
String imageFile = GeneralTools.toPath(uris.iterator().next()).toString();
73+
String image = GeneralTools.getNameWithoutExtension(new File(imageFile));
74+
String ext = GeneralTools.getExtension(imageFile).get().toLowerCase();
75+
boolean isWSI = !(ext.equals(".png") || ext.equals(".jpg") || ext.equals(".png"));
7576
logger.info("MONAILabel:: isWSI: " + isWSI + "; File: " + imageFile);
7677

7778
boolean validImage = MonaiLabelClient.imageExists(image);

0 commit comments

Comments
 (0)