Ignore:
Timestamp:
12/09/11 18:51:19 (8 years ago)
Author:
aivar
Message:

FLIMImageFitter is coming along

Location:
trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/HistogramData.java

    r7825 r7829  
    1212 */ 
    1313public class HistogramData { 
    14     private HistogramChannelData[] _channel; 
    1514    private String _title; 
     15    private HistogramDataChannel[] _channel; 
    1616    private int _channelIndex; 
    1717    private boolean _auto; 
    1818    private boolean _combine; 
    1919    private boolean _showAll; 
    20     private float _minView; 
    21     private float _maxView; 
    22     private float _minLUT; 
    23     private float _maxLUT; 
     20    private double _minView; 
     21    private double _maxView; 
     22    private double _minLUT; 
     23    private double _maxLUT; 
    2424 
    2525    /** 
     
    2828     * @param channel  
    2929     */ 
    30     public HistogramData(HistogramChannelData[] channel, String title) { 
     30    public HistogramData(String title, HistogramDataChannel[] channel) { 
     31        _title = title; 
    3132        _channel = channel; 
    32         _title = title; 
    3333        _channelIndex = 0; 
    3434        _minView = _maxView = 0.0f; 
     
    105105     * @return  
    106106     */ 
    107     public float[] getMinMaxView() { 
    108         return new float[] { _minView, _maxView }; 
     107    public double[] getMinMaxView() { 
     108        return new double[] { _minView, _maxView }; 
    109109    } 
    110110 
     
    114114     * @return  
    115115     */ 
    116     public float[] getMinMaxLUT() { 
    117         return new float[] { _minLUT, _maxLUT }; 
     116    public double[] getMinMaxLUT() { 
     117        return new double[] { _minLUT, _maxLUT }; 
    118118    } 
    119119 
     
    125125    //TODO s/b setting both view and lut min/max if automatic, o'wise no change 
    126126    //TODO who is calling this???? 
    127     public float[] getMinMax() { 
    128         float[] minMax = null; 
     127    public double[] getMinMax() { 
     128        double[] minMax = null; 
    129129         
    130130        if (_auto) { 
    131131            if (_combine) { 
    132                 float min = Float.MAX_VALUE; 
    133                 float max = Float.MIN_VALUE; 
     132                double min = Double.MAX_VALUE; 
     133                double max = Double.MIN_VALUE; 
    134134                 
    135135                // calculate actual minimum and maximum for all channels 
     
    143143                    } 
    144144                } 
    145                 minMax = new float[] { min, max };   
     145                minMax = new double[] { min, max };   
    146146            } 
    147147            else { 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/HistogramDataChannel.java

    r7825 r7829  
    1111 * @author aivar 
    1212 */ 
    13 public class HistogramChannelData { 
    14     private float[][] _values; 
    15     private float _actualMin; 
    16     private float _actualMax; 
     13public class HistogramDataChannel { 
     14    private double[][] _values; 
     15    private double _actualMin; 
     16    private double _actualMax; 
    1717 
    1818    /** 
     
    2121     * @param values  
    2222     */ 
    23     public HistogramChannelData(float[][] values) { 
     23    public HistogramDataChannel(double[][] values) { 
    2424        _values = values; 
    2525        _actualMin = _actualMax = 0.0f; 
     
    3232     * @return array of { min, max } 
    3333     */ 
    34     public float[] resetActualMinMax() { 
    35         _actualMin = Float.MAX_VALUE; 
    36         _actualMax = Float.MIN_VALUE; 
     34    public double[] resetActualMinMax() { 
     35        _actualMin = Double.MAX_VALUE; 
     36        _actualMax = Double.MIN_VALUE; 
    3737        for (int i = 0; i < _values.length; ++i) { 
    3838            for (int j = 0; j < _values[0].length; ++j) { 
    39                 if (_values[i][j] != Float.NaN) { 
     39                if (_values[i][j] != Double.NaN) { 
    4040                    if (_values[i][j] < _actualMin) { 
    4141                        _actualMin = _values[i][j]; 
     
    5050    } 
    5151     
    52     public float[] getActualMinMax() { 
    53         return new float[] { _actualMin, _actualMax }; 
     52    public double[] getActualMinMax() { 
     53        return new double[] { _actualMin, _actualMax }; 
    5454    } 
    5555     
     
    6363     * @return histogram array with counts per bin 
    6464     */ 
    65     public int[] binValues(int bins, float nominalMin, float nominalMax) { 
     65    public int[] binValues(int bins, double nominalMin, double nominalMax) { 
    6666        int[] results = new int[bins]; 
    6767        for (int i = 0; i < bins; ++i) { 
    6868            results[i] = 0; 
    6969        } 
    70         float binWidth = bins / (nominalMax - nominalMin); 
     70        double binWidth = bins / (nominalMax - nominalMin); 
    7171        for (int i = 0; i < _values.length; ++i) { 
    7272            for (int j = 0; j < _values[0].length; ++j) { 
    73                 float value = _values[i][j]; 
     73                double value = _values[i][j]; 
    7474                if (value >= nominalMin && value <= nominalMax) { 
    7575                    // assign each value to a bin 
Note: See TracChangeset for help on using the changeset viewer.