Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
RawReader.java
1 package ij.plugin;
2 import java.awt.*;
3 import java.awt.image.*;
4 import java.util.*;
5 import ij.*;
6 import ij.io.*;
7 
9 public class RawReader implements PlugIn {
10 
16  public void run(String args) {
17  StringTokenizer st = new StringTokenizer(args, ", \t");
18  int nTokens = st.countTokens();
19  if (nTokens<6) {
20  IJ.write("RawReader expects at least 6 arguments: " + args);
21  return;
22  }
23  FileInfo fi = new FileInfo();
24  fi.fileFormat = fi.RAW;
25  fi.url = Prefs.getImagesURL();
26  fi.fileName = st.nextToken(); //1
27  fi.width = getNextArg(st); //2
28  fi.height = getNextArg(st); //3
29  fi.nImages = getNextArg(st); //4
30  fi.fileType = (getNextArg(st)==8)?FileInfo.GRAY8:FileInfo.GRAY16_UNSIGNED; //5
31  fi.offset = getNextArg(st); //6
32  for (int i=7; i<=nTokens; i++) {
33  String arg = st.nextToken();
34  if (arg.startsWith("white")) fi.whiteIsZero = true;
35  else if (arg.startsWith("black")) fi.whiteIsZero = false;
36  else if (arg.startsWith("little")) fi.intelByteOrder = true;
37  else if (arg.startsWith("big")) fi.intelByteOrder = false;
38  }
39  if (IJ.debugMode) IJ.log("RawReader: "+fi);
40  IJ.showStatus(fi.url + fi.fileName);
41  new FileOpener(fi).open();
42  }
43 
44  int getNextArg(StringTokenizer st) {
45  int arg = 0;
46  try {arg = Integer.parseInt(st.nextToken());}
47  catch (NumberFormatException e) {IJ.write(""+e);}
48  return arg;
49  }
50 
51 }