Changeset 7845


Ignore:
Timestamp:
12/20/11 23:56:21 (8 years ago)
Author:
aivar
Message:

Got 254 color palette working in histogram color bar.

Location:
trunk/projects/slim-plugin/src/main/java/imagej/slim
Files:
1 added
1 deleted
5 edited

Legend:

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

    r7842 r7845  
    1010import java.awt.image.IndexColorModel; 
    1111 
    12 //import ij.process.MyFloatProcessor; //TODO IJ hack; update to IJ2 ImgLib 
    1312import ij.ImagePlus; 
    1413import ij.process.FloatProcessor; 
     
    4140        _image = new FloatProcessor(x, y); 
    4241        _image.setColorModel(imagej.slim.histogram.HistogramTool.getIndexColorModel()); 
    43         //TODO fill the image with a color that will be out of LUT range and paint black!: 
    44         _image.setValue(Float.NaN); //TODO 
    45         _image.fill(); //TODO 
     42        // fill the image with a value that will be out of LUT range and paint black. 
     43        _image.setValue(Float.NaN); 
     44        _image.fill(); 
    4645        _imagePlus = new ImagePlus(title, _image); 
    4746        _imagePlus.show(); 
     
    129128        for (int y = 0; y < values[0].length; ++y) { 
    130129            for (int x = 0; x < values.length; ++x) { 
    131                 if (InvalidDouble.isValue(values[x][y])) { 
     130                if (Double.isNaN(values[x][y])) { 
    132131                    ++num; 
    133132                } 
     
    138137        return num; 
    139138    }    
    140      
    141      
    142      
    143139     
    144140    /** 
     
    188184        for (int y = 0; y < values[0].length; ++y) { 
    189185            for (int x = 0; x < values.length; ++x) { 
    190                 values[x][y] = InvalidDouble.value(); 
     186                values[x][y] = Double.NaN; 
    191187            } 
    192188        } 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/HistogramData.java

    r7838 r7845  
    224224 
    225225        if (null != _listener) { 
     226            System.out.println("tell listener " + _minView + " " + _maxView + "," + _minLUT + " " + _maxLUT); 
    226227            _listener.minMaxChanged(_minView, _maxView, _minLUT, _maxLUT); 
    227228        } 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/HistogramDataChannel.java

    r7842 r7845  
    44 */ 
    55package imagej.slim.histogram; 
    6  
    7 import imagej.slim.fitting.InvalidDouble; 
    86 
    97/** 
     
    1513public class HistogramDataChannel { 
    1614    private double[][] _values; 
    17     private double _min; 
    18     private double _max; 
    1915    private double _minLUT; 
    2016    private double _maxLUT; 
     
    3430    public HistogramDataChannel(double[][] values) { 
    3531        _values = values; 
    36         _min = _max = 0.0f; 
    3732    } 
    3833 
     
    6661     */ 
    6762    public double[] findMinMax() { 
    68         _min = Double.MAX_VALUE; 
    69         _max = Double.MIN_VALUE; 
     63        double min = Double.MAX_VALUE; 
     64        double max = Double.MIN_VALUE; 
    7065        for (int i = 0; i < _values.length; ++i) { 
    7166            for (int j = 0; j < _values[0].length; ++j) { 
    72                 if (InvalidDouble.isValue(_values[i][j])) { 
    73                     if (_values[i][j] < _min) { 
    74                         _min = _values[i][j]; 
     67                if (!Double.isNaN(_values[i][j])) { 
     68                    if (_values[i][j] < min) { 
     69                        min = _values[i][j]; 
    7570                    } 
    76                     if (_values[i][j] > _max) { 
    77                         _max = _values[i][j]; 
     71                    if (_values[i][j] > max) { 
     72                        max = _values[i][j]; 
    7873                    } 
    7974                } 
    8075            } 
    8176        } 
    82         return new double[] { _min, _max }; 
     77        return new double[] { min, max }; 
    8378    } 
    8479     
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/HistogramTool.java

    r7844 r7845  
    6565        _colorBarPanel.setLUT(getLUT()); 
    6666        _uiPanel = new UIPanel(); 
     67        _uiPanel.setListener(new UIPanelListener()); 
    6768 
    6869        _frame = new JFrame("Histogram"); 
     
    217218            double minLUT = pixelToValue(min); 
    218219            double maxLUT = pixelToValue(max); 
     220 
     221            // set min and max on UI panel 
     222            _uiPanel.setMinMaxLUT(minLUT, maxLUT); 
    219223 
    220224            // redraw image and save 
     
    311315        } 
    312316    } 
     317 
     318    private class UIPanelListener implements IUIPanelListener { 
     319        //tOEOprivate UIPanelListener() { } 
     320        @Override 
     321        public void setAuto(boolean auto) { 
     322             // turn on/off the cursors 
     323            // they are usually at -1 & 255 
     324            // but if you are autoranging & showing all channels 
     325            // they need to be calculated 
     326            // autorange off, stuff shouldn't change right away 
     327            // autorange on, should calculate new bounds 
     328        } 
     329 
     330        @Override 
     331        public void setMinMaxLUT(double min, double max) { 
     332            // user has typed in some new values 
     333            // can't be autoranging 
     334            // adjust cursors and color bar and possibly histogram 
     335        } 
     336    } 
    313337} 
  • trunk/projects/slim-plugin/src/main/java/imagej/slim/histogram/UIPanel.java

    r7838 r7845  
    2424 */ 
    2525public class UIPanel extends JPanel { 
     26    IUIPanelListener _listener; 
    2627    JCheckBox m_autoCheckBox; 
    2728    JTextField m_startTextField; 
     
    4647 
    4748        m_auto = true; 
    48         m_start = m_stop = m_min = m_max = 0.0; 
     49        m_start = m_stop = m_min = m_max = 0.0; //TODO gotta be a better way 
    4950 
    5051        setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); 
     
    9697    } 
    9798 
     99    public void setListener(IUIPanelListener listener) { 
     100        _listener = listener; 
     101    } 
     102 
     103    public void setAuto(boolean auto) { 
     104 
     105    } 
     106 
     107    public void setMinMaxLUT(double min, double max) { 
     108        System.out.println("SetMinMaxLUT " + min + " " + max); 
     109        m_startTextField.setText("" + min); 
     110        m_stopTextField.setText("" + max); 
     111    } 
     112 
     113    // not 
    98114    /** 
    99115     * IColorizeRangeListener method.  Gets external changes to settings. 
Note: See TracChangeset for help on using the changeset viewer.