some little changes to propose to ImageJ

Posted by Gannier, François on
URL: http://imagej.273.s1.nabble.com/some-little-changes-to-propose-to-ImageJ-tp5019760.html

Dear all (probably mostly Wayne)

I have some little changes to propose to imageJ with the hope this can
be added to the next version of ImageJ.

1 - getDimensionsFromName function in ImportDialog.java
I adapted the name of my images to use this function, but this limits at
3 numbers only in the filename.
With this rewrite, you get the same functionnalities even if you have
more than 3 numbers

     private void getDimensionsFromName(String name) {
         if (name==null) return;
         int lastUnderscore = name.lastIndexOf("_");
         String name2 = name;
         if (lastUnderscore>=0)
             name2 = name.substring(lastUnderscore);
         char[] chars = new char[name2.length()];
         for (int i=0; i<name2.length(); i++)  // change non-digits to
spaces
             chars[i] =
Character.isDigit(name2.charAt(i))?name2.charAt(i):' ';
         name2 = new String(chars);
         String[] numbers = Tools.split(name2);
         int n = numbers.length;
         if (n<2) return;
         int w = (int)Tools.parseDouble(numbers[0],0);
         if (w<10) return;
         int h = (int)Tools.parseDouble(numbers[1],0);
         if (h<10) return;
         width = w;
         height = h;
         nImages = 1;
         if (n>2) {
             int d = (int)Tools.parseDouble(numbers[2],0);
             if (d>0)
                 nImages = d;
         }
         guessFormat(directory, name);
     }



2 - getLabel in Plot.java
I change this function to be public so I can access to label axis and
units from Plot window directly in my plugin.

     public String getLabel(char c)



3 - addToLists in Plot.java
this changes let me show/import data with axis label and eventually
units with "List" button or "Copy All Ddata".
(I changed only the first two headers)

     void addToLists(ArrayList<String> headings, ArrayList<float[]>data,
PlotObject plotObject,
             int dataSetNumber, boolean writeX, boolean writeY, boolean
multipleSets) {
         if (writeX) {
             String label = plotObject.type == PlotObject.ARROWS ?
"XStart" : "X";
             if (multipleSets) label += dataSetNumber;
             if (dataSetNumber == 0) {
                 String plotXLabel = getLabel('x');
                 if (plotXLabel != null)
                     label = plotXLabel;
             }
             headings.add(label);
             data.add(plotObject.xValues);
         }
         if (writeY) {
             String label = plotObject.type == PlotObject.ARROWS ?
"YStart" : "Y";
             if (multipleSets) label += dataSetNumber;
             if (dataSetNumber == 0) {
                 String plotYLabel = getLabel('y');
                 if (plotYLabel != null)
                     label = plotYLabel;
             }
             headings.add(label);
             data.add(plotObject.yValues);
         }
         if (plotObject.xEValues != null) {
             String label = plotObject.type == PlotObject.ARROWS ?
"XEnd" : "XERR";
             if (multipleSets) label += dataSetNumber;
             headings.add(label);
             data.add(plotObject.xEValues);
         }
         if (plotObject.yEValues != null) {
             String label = plotObject.type == PlotObject.ARROWS ?
"YEnd" : "ERR";
             if (multipleSets) label += dataSetNumber;
             headings.add(label);
             data.add(plotObject.yEValues);
         }
     }

Best,

François


--
François GANNIER
STIM - CNRS ERL7368
Signalisation et Transports Ioniques Membranaires (STIM)
Groupe Physiol. Cell. Card. & Vasc. (PCCV),
UFR Sciences&Techniques, Parc Grandmont,
37200 Tours - FRANCE
tel:  33 (0)2 47367113
fax:  33 (0)2 47367013

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html