Files
x11ma/plugins/fiji/sparseviewer/model/ChannelUtils.java
T
2026-06-24 13:28:45 +02:00

67 lines
1.7 KiB
Java

package sparseviewer.model;
public class ChannelUtils {
public static int findChannelIndex(String[] channelNames, String targetName) {
if (channelNames == null || targetName == null) {
return -1;
}
for (int i = 0; i < channelNames.length; i++) {
if (targetName.equals(channelNames[i])) {
return i;
}
}
return -1;
}
public static int resolveChannelIndex(String[] channelNames,
String storedName,
int storedIndex,
int defaultIndex) {
int byName = findChannelIndex(channelNames, storedName);
if (byName >= 0) {
return byName;
}
if (storedIndex >= 0 && channelNames != null && storedIndex < channelNames.length) {
return storedIndex;
}
if (channelNames != null && channelNames.length > 0) {
if (defaultIndex < 0) {
return 0;
}
if (defaultIndex >= channelNames.length) {
return channelNames.length - 1;
}
return defaultIndex;
}
return -1;
}
public static String shortName(String name) {
if (name == null) {
return "";
}
String s = name;
int typeIdx = s.lastIndexOf(":float");
if (typeIdx > 0) {
s = s.substring(0, typeIdx);
}
int idx = s.lastIndexOf(':');
if (idx >= 0 && idx < s.length() - 1) {
return s.substring(idx + 1);
}
return s;
}
}