MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / doProperty

Method doProperty

ij/src/main/java/ij/macro/Functions.java:8415–8477  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8413 }
8414
8415 private Variable doProperty() {
8416 interp.getToken();
8417 if (interp.token!='.')
8418 interp.error("'.' expected");
8419 interp.getToken();
8420 if (!(interp.token==WORD||interp.token==STRING_FUNCTION||interp.token==NUMERIC_FUNCTION||interp.token==ARRAY_FUNCTION))
8421 interp.error("Function name expected: ");
8422 String name = interp.tokenString;
8423 ImagePlus imp = getImage();
8424 if (name.equals("set")) {
8425 String key = getFirstString();
8426 String value = getLastString();
8427 if (value.length()==0) value = null;
8428 imp.setProp(key, value);
8429 return null;
8430 } else if (name.equals("get")) {
8431 String value = imp.getProp(getStringArg());
8432 return new Variable(value!=null?value:"");
8433 } else if (name.equals("getNumber") || name.equals("getValue")) {
8434 String svalue = imp.getProp(getStringArg());
8435 double nvalue = svalue!=null?Tools.parseDouble(svalue):Double.NaN;
8436 return new Variable(nvalue);
8437 } else if (name.equals("getInfo")) {
8438 interp.getParens();
8439 String value = (String)imp.getProperty("Info");
8440 return new Variable(value!=null?value:"");
8441 } else if (name.equals("setInfo")) {
8442 imp.setProperty("Info", getStringArg());
8443 return null;
8444 } else if (name.equals("getSliceLabel")) {
8445 String label = imp.getStack().getSliceLabel(imp.getCurrentSlice());
8446 if (interp.nextToken()=='(') {
8447 if (interp.nextNextToken()==')')
8448 interp.getParens();
8449 else
8450 label = imp.getStack().getSliceLabel((int)getArg());
8451 }
8452 Variable v = new Variable(label!=null?label:"");
8453 return v;
8454 } else if (name.equals("setSliceLabel")) {
8455 String label = getFirstString();
8456 int slice = imp.getCurrentSlice();
8457 if (interp.nextToken()==',')
8458 slice = (int)getLastArg();
8459 else
8460 interp.getRightParen();
8461 if (slice<1 || slice>imp.getStackSize())
8462 interp.error("Argument must be >=1 and <="+imp.getStackSize());
8463 imp.getStack().setSliceLabel(label, slice);
8464 if (!Interpreter.isBatchMode()) imp.repaintWindow();
8465 return null;
8466 } else if (name.equals("getDicomTag")) {
8467 String value = imp.getStringProperty(getStringArg());
8468 return new Variable(value!=null?value:"");
8469 } else if (name.equals("setList")) {
8470 setPropertiesFromString(imp.getImageProperties());
8471 return null;
8472 } else if (name.equals("getList")) {

Callers 1

getVariableFunctionMethod · 0.95

Calls 15

getImageMethod · 0.95
getFirstStringMethod · 0.95
getLastStringMethod · 0.95
setPropMethod · 0.95
getPropMethod · 0.95
getStringArgMethod · 0.95
parseDoubleMethod · 0.95
getPropertyMethod · 0.95
setPropertyMethod · 0.95
getStackMethod · 0.95
getCurrentSliceMethod · 0.95
getArgMethod · 0.95

Tested by

no test coverage detected