Changeset 7865 for trunk


Ignore:
Timestamp:
01/11/12 20:38:35 (8 years ago)
Author:
aivar
Message:

Refactoring

Location:
trunk/projects/slim-plugin/src/main/java
Files:
5 added
3 edited
8 moved

Legend:

Unmodified
Added
Removed
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/FitInfo.java

    r7864 r7865  
    3535    private String[] _analysisList; 
    3636    private boolean _fitAllChannels; 
    37     private int _startBin; 
    38     private int _stopBin; 
    39     private int _threshold; 
     37    private int _startDecay; 
     38    private int _stopDecay; 
     39    private int _threshold; //TODO this s/b accounted for by IInputImage 
    4040    private double _chiSquareTarget; 
    4141    private String _binning; 
     
    4646    private boolean[] _free; 
    4747    private boolean _refineFit; 
    48          
     48     
     49    private double[] _prompt; 
     50    private int _startPrompt; 
     51    private int _stopPrompt; 
     52    private int _lowerPrompt; 
     53     
     54    private double[] _sig; //TODO sig s/b specified for each pixel!! 
     55     
     56    private IInputImage _inputImage; // takes care of width/height/threshold/ROI 
     57    private IOutputImage _outputImage; 
     58     
     59    //TODO private IBob _cursorMunger; 
     60 
     61    //HANDLE SOME OTHER WAY?: 
     62    // analysisList/fittedImages (especially analysis c/b totally post fit) 
     63 
    4964    public FitInfo() {} 
    5065 
     
    198213     * @return start 
    199214     */ 
    200     public int getStart() { 
    201         return _startBin; 
     215    public int getStartDecay() { 
     216        return _startDecay; 
    202217    } 
    203218 
     
    207222     * @param bin 
    208223     */ 
    209     public void setStart(int bin) { 
    210         _startBin = bin; 
     224    public void setStartDecay(int bin) { 
     225        _startDecay = bin; 
    211226    } 
    212227 
     
    216231     * @return stop 
    217232     */ 
    218     public int getStop() { 
    219         return _stopBin; 
     233    public int getStopDecay() { 
     234        return _stopDecay; 
    220235    } 
    221236 
     
    225240     * @param bin 
    226241     */ 
    227     public void setStop(int bin) { 
    228         _stopBin = bin; 
     242    public void setStopDecay(int bin) { 
     243        _stopDecay = bin; 
    229244    } 
    230245 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/AbstractBaseColorizedImage.java

    r7848 r7865  
    44 */ 
    55 
    6 package imagej.slim.fitting; 
     6package imagej.slim.fitting.images; 
    77 
    88import java.awt.event.FocusEvent; 
     
    2222 * @author aivar 
    2323 */ 
    24 abstract public class AbstractBaseFittedImage implements IFittedImage { 
     24abstract public class AbstractBaseColorizedImage implements IColorizedImage { 
    2525    private String _title; 
    2626    private double _values[][]; 
     
    2929    private ImagePlus _imagePlus; 
    3030     
    31     public AbstractBaseFittedImage(String title, int[] dimension) { 
     31    public AbstractBaseColorizedImage(String title, int[] dimension) { 
    3232        _title = title; 
    3333        int x = dimension[0]; 
     
    3535        _values = new double[x][y]; 
    3636        //TODO need to handle multiple channels: 
    37         // _values c/b slice being drawn only; refer to Image for other slices; this scheme would fall apart if Image is colorized grayscale like SPCImage 
     37        // _values c/b slice being drawn only; refer to Image for other slices; this scheme would fall apart if Image is colorized grayscale like SPCImage, 
     38        // so better to keep _values around for each channel 
    3839        HistogramDataChannel histogramDataChannel = new HistogramDataChannel(_values); 
    3940        HistogramDataChannel[] histogramDataChannels = new HistogramDataChannel[] { histogramDataChannel }; 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/ColorizedImage.java

    r7832 r7865  
    33 * and open the template in the editor. 
    44 */ 
    5 package imagej.slim.fitting; 
     5package imagej.slim.fitting.images; 
     6 
     7import imagej.slim.fitting.images.AbstractBaseColorizedImage; 
    68 
    79/** 
     
    1012 * @author Aivar Grislis 
    1113 */ 
    12 public class FittedImage extends AbstractBaseFittedImage { 
     14public class ColorizedImage extends AbstractBaseColorizedImage { 
    1315    private int _parameterIndex; 
    1416 
     
    2022     * @param parameterIndex 
    2123     */ 
    22     public FittedImage(String title, int[] dimension, int parameterIndex) { 
     24    public ColorizedImage(String title, int[] dimension, int parameterIndex) { 
    2325        super(title, dimension); 
    2426        _parameterIndex = parameterIndex; 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/ColorizedImageFactory.java

    r7839 r7865  
    33 * and open the template in the editor. 
    44 */ 
    5 package imagej.slim.fitting; 
     5package imagej.slim.fitting.images; 
    66 
    7 import imagej.slim.fitting.FLIMImageFitter.OutputImage; 
     7import imagej.slim.fitting.images.IColorizedImage; 
     8import imagej.slim.fitting.images.ColorizedImage; 
     9import imagej.slim.fitting.images.FractionalIntensityImage; 
     10import imagej.slim.fitting.images.FractionalContributionImage; 
     11import imagej.slim.fitting.images.ColorizedImageFitter.ColorizedImageType; 
    812 
    913/** 
    1014 * 
    11  * @author aivar 
     15 * @author Aivar Grislis 
    1216 */ 
    13 public class FLIMFittedImageFactory { 
    14     private static FLIMFittedImageFactory INSTANCE = null; 
     17public class ColorizedImageFactory { 
     18    private static ColorizedImageFactory INSTANCE = null; 
    1519     
    16     private FLIMFittedImageFactory() {  
     20    private ColorizedImageFactory() {  
    1721    } 
    1822     
    19     public static synchronized FLIMFittedImageFactory getInstance() { 
     23    public static synchronized ColorizedImageFactory getInstance() { 
    2024        if (null == INSTANCE) { 
    21             INSTANCE = new FLIMFittedImageFactory(); 
     25            INSTANCE = new ColorizedImageFactory(); 
    2226        } 
    2327        return INSTANCE; 
    2428    } 
    2529     
    26     public IFittedImage createImage(OutputImage outputImage, int[] dimension, int components) { 
    27         IFittedImage fittedImage = null; 
     30    public IColorizedImage createImage(ColorizedImageType outputImage, int[] dimension, int components) { 
     31        IColorizedImage fittedImage = null; 
    2832        String title; 
    2933        switch (outputImage) { 
    3034            case A1: 
    3135                title = (1 == components) ? "A" : "A1"; 
    32                 fittedImage = new FittedImage(title, dimension, FLIMImageFitter.A1_INDEX); 
     36                fittedImage = new ColorizedImage(title, dimension, ColorizedImageFitter.A1_INDEX); 
    3337                break; 
    3438            case T1: 
    3539                title = (1 == components) ? "T" : "T1"; 
    36                 fittedImage = new FittedImage(title, dimension, FLIMImageFitter.T1_INDEX); 
     40                fittedImage = new ColorizedImage(title, dimension, ColorizedImageFitter.T1_INDEX); 
    3741                break; 
    3842            case A2: 
    39                 fittedImage = new FittedImage("A2", dimension, FLIMImageFitter.A2_INDEX); 
     43                fittedImage = new ColorizedImage("A2", dimension, ColorizedImageFitter.A2_INDEX); 
    4044                break; 
    4145            case T2: 
    42                 fittedImage = new FittedImage("T2", dimension, FLIMImageFitter.T2_INDEX); 
     46                fittedImage = new ColorizedImage("T2", dimension, ColorizedImageFitter.T2_INDEX); 
    4347                break; 
    4448            case A3: 
    45                 fittedImage = new FittedImage("A3", dimension, FLIMImageFitter.A2_INDEX); 
     49                fittedImage = new ColorizedImage("A3", dimension, ColorizedImageFitter.A2_INDEX); 
    4650                break; 
    4751            case T3: 
    48                 fittedImage = new FittedImage("T3", dimension, FLIMImageFitter.T2_INDEX); 
     52                fittedImage = new ColorizedImage("T3", dimension, ColorizedImageFitter.T2_INDEX); 
    4953                break; 
    5054            case H: 
    51                 fittedImage = new FittedImage("H", dimension, FLIMImageFitter.H_INDEX); 
     55                fittedImage = new ColorizedImage("H", dimension, ColorizedImageFitter.H_INDEX); 
    5256                break; 
    5357            case Z: 
    54                 fittedImage = new FittedImage("Z", dimension, FLIMImageFitter.Z_INDEX); 
     58                fittedImage = new ColorizedImage("Z", dimension, ColorizedImageFitter.Z_INDEX); 
    5559                break; 
    5660            case CHISQ: 
    57                 fittedImage = new FittedImage("ChiSquare", dimension, FLIMImageFitter.CHISQ_INDEX); 
     61                fittedImage = new ColorizedImage("ChiSquare", dimension, ColorizedImageFitter.CHISQ_INDEX); 
    5862                break; 
    5963            case F1: 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/ColorizedImageFitter.java

    r7839 r7865  
    33 * and open the template in the editor. 
    44 */ 
    5 package imagej.slim.fitting; 
     5package imagej.slim.fitting.images; 
    66 
    77import java.util.ArrayList; 
    88import java.util.List; 
    99 
    10 import imagej.slim.fitting.engine.IFittingEngine; 
    11 import imagej.slim.fitting.engine.ThreadedFittingEngine; 
    1210import imagej.slim.histogram.HistogramTool; 
    1311 
    1412/** 
    15  * 
    16  * @author aivar 
     13 * This class 
     14 * @author Aivar Grislis 
    1715 */ 
    18 public class FLIMImageFitter { 
    19     public enum OutputImage { A1, T1, A2, T2, A3, T3, Z, H, CHISQ, F1, F2, F3, f1, f2, f3 }; 
     16public class ColorizedImageFitter { 
     17    public enum ColorizedImageType { A1, T1, A2, T2, A3, T3, Z, H, CHISQ, F1, F2, F3, f1, f2, f3 }; 
    2018    public static final int A1_INDEX    = 2; 
    2119    public static final int T1_INDEX    = 3; 
     
    2725    public static final int Z_INDEX     = 1; 
    2826    public static final int CHISQ_INDEX = 0; 
    29     private List<IFittedImage> _fittedImages; 
    30     private IFittingEngine _fittingEngine; 
     27    private List<IColorizedImage> _fittedImages; 
    3128     
    32     public FLIMImageFitter() { 
    33         _fittedImages = new ArrayList<IFittedImage>(); 
    34         //TODO s/b configurable which fitting engine to use: 
    35         _fittingEngine = new ThreadedFittingEngine(); 
     29    public ColorizedImageFitter() { 
     30        _fittedImages = new ArrayList<IColorizedImage>(); 
    3631    } 
    3732     
    38     public void setUpFit(OutputImage[] images, int[] dimension, int components) { 
     33    public void setUpFit(ColorizedImageType[] images, int[] dimension, int components) { 
    3934        _fittedImages.clear(); 
    40         for (OutputImage image : images) { 
    41             IFittedImage fittedImage = FLIMFittedImageFactory.getInstance().createImage(image, dimension, components); 
     35        for (ColorizedImageType image : images) { 
     36            IColorizedImage fittedImage = ColorizedImageFactory.getInstance().createImage(image, dimension, components); 
    4237            _fittedImages.add(fittedImage); 
    4338        } 
     
    5449     */ 
    5550    public void beginFit() { 
    56         for (IFittedImage fittedImage : _fittedImages) { 
     51        for (IColorizedImage fittedImage : _fittedImages) { 
    5752            //fittedImage.setColorModel(HistogramTool.getLUT()); //TODO getIndexColorModel()); //TODO all the same really as far as I can tell, i.e. broken 
    5853            fittedImage.beginFit(); 
     
    6459     */ 
    6560    public void endFit() { 
    66         for (IFittedImage fittedImage : _fittedImages) { 
     61        for (IColorizedImage fittedImage : _fittedImages) { 
    6762            fittedImage.endFit(); 
    6863        } 
     
    7469     */ 
    7570    public void cancelFit() { 
    76         for (IFittedImage fittedImage : _fittedImages) { 
     71        for (IColorizedImage fittedImage : _fittedImages) { 
    7772            fittedImage.cancelFit(); 
    7873        } 
     
    8681     */ 
    8782    public void updatePixel(int[] location, double[] parameters) { 
    88         for (IFittedImage fittedImage : _fittedImages) { 
     83        for (IColorizedImage fittedImage : _fittedImages) { 
    8984            fittedImage.updatePixel(location, parameters); 
    9085        } 
     
    10095     */ 
    10196    public void updateChunkyPixel(int[] location, int[] dimension, double[] parameters) { 
    102         for (IFittedImage fittedImage : _fittedImages) { 
     97        for (IColorizedImage fittedImage : _fittedImages) { 
    10398            fittedImage.updateChunkyPixel(location, dimension, parameters); 
    10499        } 
     
    109104     */ 
    110105    public void recalcHistogram() {     
    111         for (IFittedImage fittedImage : _fittedImages) { 
     106        for (IColorizedImage fittedImage : _fittedImages) { 
    112107            fittedImage.recalcHistogram(); 
    113108        } 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/ColorizedImageParser.java

    r7840 r7865  
    33 * and open the template in the editor. 
    44 */ 
    5 package imagej.slim.fitting; 
     5package imagej.slim.fitting.images; 
    66 
    7 import imagej.slim.fitting.FLIMImageFitter.OutputImage; 
     7import imagej.slim.fitting.images.ColorizedImageFitter.ColorizedImageType; 
    88 
    99import java.util.ArrayList; 
     
    1212/** 
    1313 * This class parses a string containing a list of output images, such as  
    14  * "A T Z X2" and produces an array of OutputImage. 
     14 * "A T Z X2" and produces an array of ColorizedImageType. 
    1515 *  
    1616 * @author Aivar Grislis 
    1717 */ 
    18 public class OutputImageParser { 
     18public class ColorizedImageParser { 
    1919    private static final Character CHI    = '\u03c7'; 
    2020    private static final Character SQUARE = '\u00b2'; 
     
    3333     * @param stretched  
    3434     */ 
    35     public OutputImageParser(String input, int components, boolean stretched) { 
     35    public ColorizedImageParser(String input, int components, boolean stretched) { 
    3636        _input = input; 
    3737        _components = components; 
     
    4040 
    4141    /** 
    42      * Parses the input string and creates array of OutputImage.  Only creates 
    43      * images which are appropriate for current fit. 
     42     * Parses the input string and creates array of ColorizedImageType.  Only 
     43     * creates images which are appropriate for current fit. 
    4444     *  
    4545     * @return  
    4646     */ 
    47     public OutputImage[] getOutputImages() { 
    48         List<OutputImage> list = new ArrayList<OutputImage>(); 
     47    public ColorizedImageType[] getColorizedImages() { 
     48        List<ColorizedImageType> list = new ArrayList<ColorizedImageType>(); 
    4949        String[] tokens = _input.split(" "); 
    5050        for (String token : tokens) { 
     
    5353                switch (_components) { 
    5454                    case 1: 
    55                         list.add(OutputImage.A1); 
     55                        list.add(ColorizedImageType.A1); 
    5656                        break; 
    5757                    case 2: 
    58                         list.add(OutputImage.A1); 
    59                         list.add(OutputImage.A2); 
     58                        list.add(ColorizedImageType.A1); 
     59                        list.add(ColorizedImageType.A2); 
    6060                        break; 
    6161                    case 3: 
    62                         list.add(OutputImage.A1); 
    63                         list.add(OutputImage.A2); 
    64                         list.add(OutputImage.A3); 
     62                        list.add(ColorizedImageType.A1); 
     63                        list.add(ColorizedImageType.A2); 
     64                        list.add(ColorizedImageType.A3); 
    6565                        break; 
    6666               } 
     
    6969                switch (_components) { 
    7070                    case 1: 
    71                         list.add(OutputImage.T1); 
     71                        list.add(ColorizedImageType.T1); 
    7272                        break; 
    7373                    case 2: 
    74                         list.add(OutputImage.T1); 
    75                         list.add(OutputImage.T2); 
     74                        list.add(ColorizedImageType.T1); 
     75                        list.add(ColorizedImageType.T2); 
    7676                        break; 
    7777                    case 3: 
    78                         list.add(OutputImage.T1); 
    79                         list.add(OutputImage.T2); 
    80                         list.add(OutputImage.T3); 
     78                        list.add(ColorizedImageType.T1); 
     79                        list.add(ColorizedImageType.T2); 
     80                        list.add(ColorizedImageType.T3); 
    8181                        break; 
    8282               } 
    8383            } 
    8484            else if ("Z".equals(token)) { 
    85                 list.add(OutputImage.Z); 
     85                list.add(ColorizedImageType.Z); 
    8686            } 
    8787            else if ("X2".equals(token) || CHI_SQ_STRING.equals(token)) { 
    88                 list.add(OutputImage.CHISQ); 
     88                list.add(ColorizedImageType.CHISQ); 
    8989            } 
    9090            else if ("H".equals(token)) { 
    9191                if (_stretched) { 
    92                     list.add(OutputImage.H); 
     92                    list.add(ColorizedImageType.H); 
    9393                } 
    9494            } 
     
    9696                switch (_components) { 
    9797                    case 2: 
    98                         list.add(OutputImage.F1); 
    99                         list.add(OutputImage.F2); 
     98                        list.add(ColorizedImageType.F1); 
     99                        list.add(ColorizedImageType.F2); 
    100100                        break; 
    101101                    case 3: 
    102                         list.add(OutputImage.F1); 
    103                         list.add(OutputImage.F2); 
    104                         list.add(OutputImage.F3); 
     102                        list.add(ColorizedImageType.F1); 
     103                        list.add(ColorizedImageType.F2); 
     104                        list.add(ColorizedImageType.F3); 
    105105                        break; 
    106106                } 
     
    109109                switch (_components) { 
    110110                    case 2: 
    111                         list.add(OutputImage.f1); 
    112                         list.add(OutputImage.f2); 
     111                        list.add(ColorizedImageType.f1); 
     112                        list.add(ColorizedImageType.f2); 
    113113                        break; 
    114114                    case 3: 
    115                         list.add(OutputImage.f1); 
    116                         list.add(OutputImage.f2); 
    117                         list.add(OutputImage.f3); 
     115                        list.add(ColorizedImageType.f1); 
     116                        list.add(ColorizedImageType.f2); 
     117                        list.add(ColorizedImageType.f3); 
    118118                        break; 
    119119                } 
    120120            }         
    121121        } 
    122         return list.toArray(new OutputImage[0]); 
     122        return list.toArray(new ColorizedImageType[0]); 
    123123    } 
    124124} 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/FractionalContributionImage.java

    r7832 r7865  
    33 * and open the template in the editor. 
    44 */ 
    5 package imagej.slim.fitting; 
     5package imagej.slim.fitting.images; 
     6 
     7import imagej.slim.fitting.images.AbstractBaseColorizedImage; 
    68 
    79/** 
     
    1214 * @author Aivar Grislis 
    1315 */ 
    14 public class FractionalContributionImage extends AbstractBaseFittedImage { 
     16public class FractionalContributionImage extends AbstractBaseColorizedImage { 
    1517    private int _component; 
    1618    private int _components; 
     
    3739        switch (_components) { 
    3840            case 2: 
    39                 sum = parameters[FLIMImageFitter.A1_INDEX] 
    40                         * parameters[FLIMImageFitter.T1_INDEX] 
    41                         + parameters[FLIMImageFitter.A2_INDEX] 
    42                         * parameters[FLIMImageFitter.T2_INDEX]; 
     41                sum = parameters[ColorizedImageFitter.A1_INDEX] 
     42                        * parameters[ColorizedImageFitter.T1_INDEX] 
     43                        + parameters[ColorizedImageFitter.A2_INDEX] 
     44                        * parameters[ColorizedImageFitter.T2_INDEX]; 
    4345                switch (_component) { 
    4446                    case 0: 
    45                         value = parameters[FLIMImageFitter.A1_INDEX] 
    46                                 * parameters[FLIMImageFitter.T1_INDEX]; 
     47                        value = parameters[ColorizedImageFitter.A1_INDEX] 
     48                                * parameters[ColorizedImageFitter.T1_INDEX]; 
    4749                        break; 
    4850                    case 1: 
    49                         value = parameters[FLIMImageFitter.A2_INDEX] 
    50                                 * parameters[FLIMImageFitter.T2_INDEX]; 
     51                        value = parameters[ColorizedImageFitter.A2_INDEX] 
     52                                * parameters[ColorizedImageFitter.T2_INDEX]; 
    5153                        break; 
    5254                } 
    5355                break; 
    5456            case 3: 
    55                 sum = parameters[FLIMImageFitter.A1_INDEX] 
    56                         * parameters[FLIMImageFitter.T1_INDEX] 
    57                         + parameters[FLIMImageFitter.A2_INDEX] 
    58                         * parameters[FLIMImageFitter.T2_INDEX] 
    59                         + parameters[FLIMImageFitter.A3_INDEX] 
    60                         * parameters[FLIMImageFitter.T3_INDEX]; 
     57                sum = parameters[ColorizedImageFitter.A1_INDEX] 
     58                        * parameters[ColorizedImageFitter.T1_INDEX] 
     59                        + parameters[ColorizedImageFitter.A2_INDEX] 
     60                        * parameters[ColorizedImageFitter.T2_INDEX] 
     61                        + parameters[ColorizedImageFitter.A3_INDEX] 
     62                        * parameters[ColorizedImageFitter.T3_INDEX]; 
    6163                switch (_component) { 
    6264                    case 0: 
    63                         value = parameters[FLIMImageFitter.A1_INDEX] 
    64                                 * parameters[FLIMImageFitter.T1_INDEX]; 
     65                        value = parameters[ColorizedImageFitter.A1_INDEX] 
     66                                * parameters[ColorizedImageFitter.T1_INDEX]; 
    6567                        break; 
    6668                    case 1: 
    67                         value = parameters[FLIMImageFitter.A2_INDEX] 
    68                                 * parameters[FLIMImageFitter.T2_INDEX]; 
     69                        value = parameters[ColorizedImageFitter.A2_INDEX] 
     70                                * parameters[ColorizedImageFitter.T2_INDEX]; 
    6971                        break; 
    7072                    case 2: 
    71                         value = parameters[FLIMImageFitter.A3_INDEX] 
    72                                 * parameters[FLIMImageFitter.T3_INDEX]; 
     73                        value = parameters[ColorizedImageFitter.A3_INDEX] 
     74                                * parameters[ColorizedImageFitter.T3_INDEX]; 
    7375                        break; 
    7476                } 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/FractionalIntensityImage.java

    r7829 r7865  
    33 * and open the template in the editor. 
    44 */ 
    5 package imagej.slim.fitting; 
     5package imagej.slim.fitting.images; 
     6 
     7import imagej.slim.fitting.images.AbstractBaseColorizedImage; 
    68 
    79/** 
     
    1214 * @author Aivar Grislis 
    1315 */ 
    14 public class FractionalIntensityImage extends AbstractBaseFittedImage { 
     16public class FractionalIntensityImage extends AbstractBaseColorizedImage { 
    1517    private int _component; 
    1618    private int _components; 
     
    3739        switch (_components) { 
    3840            case 2: 
    39                 sum = parameters[FLIMImageFitter.A1_INDEX] 
    40                         + parameters[FLIMImageFitter.A2_INDEX]; 
     41                sum = parameters[ColorizedImageFitter.A1_INDEX] 
     42                        + parameters[ColorizedImageFitter.A2_INDEX]; 
    4143                switch (_component) { 
    4244                    case 0: 
    43                         value = parameters[FLIMImageFitter.A1_INDEX]; 
     45                        value = parameters[ColorizedImageFitter.A1_INDEX]; 
    4446                        break; 
    4547                    case 1: 
    46                         value = parameters[FLIMImageFitter.A2_INDEX];; 
     48                        value = parameters[ColorizedImageFitter.A2_INDEX];; 
    4749                        break; 
    4850                } 
    4951                break; 
    5052            case 3: 
    51                 sum = parameters[FLIMImageFitter.A1_INDEX] 
    52                         + parameters[FLIMImageFitter.A2_INDEX] 
    53                         + parameters[FLIMImageFitter.A3_INDEX]; 
     53                sum = parameters[ColorizedImageFitter.A1_INDEX] 
     54                        + parameters[ColorizedImageFitter.A2_INDEX] 
     55                        + parameters[ColorizedImageFitter.A3_INDEX]; 
    5456                switch (_component) { 
    5557                    case 0: 
    56                         value = parameters[FLIMImageFitter.A1_INDEX]; 
     58                        value = parameters[ColorizedImageFitter.A1_INDEX]; 
    5759                        break; 
    5860                    case 1: 
    59                         value = parameters[FLIMImageFitter.A2_INDEX]; 
     61                        value = parameters[ColorizedImageFitter.A2_INDEX]; 
    6062                        break; 
    6163                    case 2: 
    62                         value = parameters[FLIMImageFitter.A3_INDEX]; 
     64                        value = parameters[ColorizedImageFitter.A3_INDEX]; 
    6365                        break; 
    6466                } 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/fitting/images/IColorizedImage.java

    r7848 r7865  
    44 */ 
    55 
    6 package imagej.slim.fitting; 
     6package imagej.slim.fitting.images; 
    77 
    88import java.awt.image.IndexColorModel; 
     
    1414 * @author Aivar Grislis 
    1515 */ 
    16 public interface IFittedImage { 
     16public interface IColorizedImage { 
    1717     
    1818    /** 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/HistogramData.java

    r7848 r7865  
    55package imagej.slim.histogram; 
    66 
    7 import imagej.slim.fitting.IFittedImage; 
     7import imagej.slim.fitting.images.IColorizedImage; 
    88 
    99/** 
     
    1414 */ 
    1515public class HistogramData { 
    16     private IFittedImage _image; 
     16    private IColorizedImage _image; 
    1717    private String _title; 
    1818    private HistogramDataChannel[] _channel; 
     
    3232     * @param channel  
    3333     */ 
    34     public HistogramData(IFittedImage image, String title, 
     34    public HistogramData(IColorizedImage image, String title, 
    3535            HistogramDataChannel[] channel) { 
    3636        _image = image; 
  • trunk/projects/slim-plugin/src/main/java/loci/slim/SLIMProcessor.java

    r7864 r7865  
    8282 
    8383// Kludge in the new stuff: 
    84 import imagej.slim.fitting.OutputImageParser; 
     84import imagej.slim.fitting.FitInfo; 
     85import imagej.slim.fitting.IInputImage; 
     86import imagej.slim.fitting.IOutputImage; 
     87import imagej.slim.fitting.images.ColorizedImageParser; 
    8588import imagej.slim.fitting.params.IGlobalFitParams; 
    8689import imagej.slim.fitting.params.LocalFitParams; 
     
    9194import imagej.slim.fitting.config.Configuration; 
    9295import imagej.slim.fitting.FitInfo; 
    93 import imagej.slim.fitting.FLIMImageFitter; 
    94 import imagej.slim.fitting.FLIMImageFitter.OutputImage; 
     96import imagej.slim.fitting.images.ColorizedImageFitter; 
     97import imagej.slim.fitting.images.ColorizedImageFitter.ColorizedImageType; 
    9598import imagej.slim.fitting.FitInfo.FitAlgorithm; 
    9699import imagej.slim.fitting.FitInfo.FitFunction; 
     
    661664                case EACH: 
    662665                    // fit every pixel 
    663                     fittedImage = fitEachPixelXYZ(uiPanel); 
     666                    fittedImage = fitAllPixels(uiPanel); 
    664667                    break; 
    665668            } 
     
    682685        fitInfo.setAnalysisList(uiPanel.getAnalysisList()); 
    683686        fitInfo.setFitAllChannels(uiPanel.getFitAllChannels()); 
    684         fitInfo.setStart(uiPanel.getStart()); 
    685         fitInfo.setStop(uiPanel.getStop()); 
     687        fitInfo.setStartDecay(uiPanel.getStart()); 
     688        fitInfo.setStopDecay(uiPanel.getStop()); 
    686689        fitInfo.setThreshold(uiPanel.getThreshold()); 
    687690        fitInfo.setChiSquareTarget(uiPanel.getChiSquareTarget()); 
    688         fitInfo.setBinning(uiPanel.getBinning()); 
    689          
     691        fitInfo.setBinning(uiPanel.getBinning());    
    690692        fitInfo.setX(uiPanel.getX()); 
    691693        fitInfo.setY(uiPanel.getY()); 
    692694        fitInfo.setParameterCount(uiPanel.getParameterCount()); 
    693          
    694          
    695695        fitInfo.setParameters(uiPanel.getParameters()); 
    696696        fitInfo.setFree(uiPanel.getFree()); 
     
    699699    } 
    700700     
    701     private void newFitData(IGrayScaleImage grayScalePanel, IUserInterfacePanel uiPanel) { 
    702         Image<DoubleType> fittedImage = null; 
    703         FitInfo fitInfo = new FitInfo(); 
    704    
    705         // only one fit at a time 
    706         synchronized (m_synchFit) { 
    707              
    708         } 
    709         m_channel        = grayScalePanel.getChannel(); 
    710  
    711         m_region         = uiPanel.getRegion(); // this is either SUMMED/ROI/POINT/EACH -- which type of fit 
    712         m_algorithm      = uiPanel.getAlgorithm(); 
    713         m_function       = uiPanel.getFunction(); 
    714         m_fitAllChannels = uiPanel.getFitAllChannels(); 
    715  
    716         m_x              = uiPanel.getX(); 
    717         m_y              = uiPanel.getY(); 
    718         m_startBin       = uiPanel.getStart(); 
    719         m_stopBin        = uiPanel.getStop(); 
    720         m_threshold      = uiPanel.getThreshold(); 
    721  
    722         m_param          = uiPanel.getParameters(); 
    723         m_free           = uiPanel.getFree(); 
    724     } 
     701    private IInputImage wrapInputImage() { 
     702        IInputImage returnValue = null; 
     703        return returnValue; 
     704    } 
     705     
     706    private IOutputImage wrapOutputImage() { 
     707        IOutputImage returnValue = null; 
     708        return returnValue; 
     709    } 
     710 
    725711 
    726712    /* 
     
    10761062         
    10771063        //TODO new style code starts only here: 
    1078         FLIMImageFitter imageFitter = new FLIMImageFitter(); 
     1064        ColorizedImageFitter imageFitter = new ColorizedImageFitter(); 
    10791065        int components = 0; 
    10801066        boolean stretched = false; 
     
    10941080        } 
    10951081        String outputs = uiPanel.getFittedImages(); 
    1096         OutputImageParser parser = new OutputImageParser(outputs, components, stretched); 
    1097          
    1098         OutputImage[] outputImages = parser.getOutputImages(); 
     1082        ColorizedImageParser parser = new ColorizedImageParser(outputs, components, stretched); 
     1083         
     1084        ColorizedImageType[] outputImages = parser.getColorizedImages(); 
    10991085        imageFitter.setUpFit(outputImages, new int[] { m_width, m_height }, components); 
    11001086        imageFitter.beginFit(); 
     
    11851171     * are updated at the end of this function. 
    11861172     */ 
    1187     private void processPixels(ICurveFitData[] data, ChunkyPixel[] pixels, FLIMImageFitter imageFitter) { 
     1173    private void processPixels(ICurveFitData[] data, ChunkyPixel[] pixels, ColorizedImageFitter imageFitter) { 
    11881174        if (null == _fittingEngine) { 
    11891175            _fittingEngine = Configuration.getInstance().getFittingEngine(); 
     
    12501236        IGlobalFitParams globalFitParams; 
    12511237        List<ILocalFitParams> localFitParams = new ArrayList<ILocalFitParams>(); 
    1252         FLIMImageFitter imageFitter; //it's confusing to have both an imageFitter and a fittingEngine 
     1238        ColorizedImageFitter imageFitter; //it's confusing to have both an imageFitter and a fittingEngine 
    12531239       
    12541240        return null; 
    12551241    } 
    12561242 
    1257     private Image<DoubleType> fitEachPixelXYZ(IUserInterfacePanel uiPanel) { 
     1243    private Image<DoubleType> fitAllPixels(IUserInterfacePanel uiPanel) { 
    12581244        long start = System.nanoTime(); 
    12591245        int pixelCount = 0; 
     
    12941280         
    12951281        //TODO new style code starts only here: 
    1296         FLIMImageFitter imageFitter = new FLIMImageFitter(); 
     1282        ColorizedImageFitter imageFitter = new ColorizedImageFitter(); 
    12971283        int components = 0; 
    12981284        boolean stretched = false; 
     
    13121298        } 
    13131299        String outputs = uiPanel.getFittedImages(); 
    1314         OutputImageParser parser = new OutputImageParser(outputs, components, stretched); 
    1315          
    1316         OutputImage[] outputImages = parser.getOutputImages(); 
    1317         imageFitter.setUpFit(outputImages, new int[] { m_width, m_height }, components); 
     1300        ColorizedImageParser parser = new ColorizedImageParser(outputs, components, stretched); 
     1301         
     1302        ColorizedImageType[] colorizedImages = parser.getColorizedImages(); 
     1303        imageFitter.setUpFit(colorizedImages, new int[] { m_width, m_height }, components); 
    13181304        imageFitter.beginFit();        
    13191305 
     
    13901376     * @param imageFitter  
    13911377     */ 
    1392     private void processPixels(IFittingEngine fittingEngine, ChunkyPixel[] pixels, IGlobalFitParams globalFitParams, List<ILocalFitParams> localFitParams, FLIMImageFitter imageFitter) { 
     1378    private void processPixels(IFittingEngine fittingEngine, ChunkyPixel[] pixels, IGlobalFitParams globalFitParams, List<ILocalFitParams> localFitParams, ColorizedImageFitter imageFitter) { 
    13931379        List<IFitResults> results = fittingEngine.fit(globalFitParams, localFitParams); 
    13941380 
     
    14041390   
    14051391    // copied 1/12 to modify into "processPixels" above: 
    1406     private void processPixelsXYZhuhuh(ICurveFitData[] data, ChunkyPixel[] pixels, FLIMImageFitter imageFitter) { 
     1392    private void processPixelsXYZhuhuh(ICurveFitData[] data, ChunkyPixel[] pixels, ColorizedImageFitter imageFitter) { 
    14071393        if (null == _fittingEngine) { 
    14081394            _fittingEngine = Configuration.getInstance().getFittingEngine(); 
     
    14561442     * are updated at the end of this function. 
    14571443     */ 
    1458     private void processPixelsXYZ(ICurveFitData[] data, ChunkyPixel[] pixels, FLIMImageFitter imageFitter) { 
     1444    private void processPixelsXYZ(ICurveFitData[] data, ChunkyPixel[] pixels, ColorizedImageFitter imageFitter) { 
    14591445        if (null == _fittingEngine) { 
    14601446            _fittingEngine = Configuration.getInstance().getFittingEngine(); 
Note: See TracChangeset for help on using the changeset viewer.