content: import edu.stanford.rsl.conrad.utils.ImageUtil;
  import ij.IJ;
  import ij.ImagePlus;
  import ij.measure.Calibration;
  import ij.plugin.PlugIn;
  import ij.process.ImageConverter;
  import ij.process.StackConverter;
  
  
  
  public class Convert_to_16_bit implements PlugIn {
  
  	public Convert_to_16_bit(){
  		
  	}
  	
  	@Override
  	public void run(String arg) {
  		ImagePlus image = IJ.getImage();
  		// compute min
  		double min = ImageUtil.minOfImagePlusValues(image);
  		if (min < -32000) min = -32000;
  		// set minimum to 0;
  		ImageUtil.addToImagePlusValues(image, -min);
  		// store conversion setting
  		boolean scaling = ImageConverter.getDoScaling();
  		// turn conversion off
  		ImageConverter.setDoScaling(false);
  		// convert to 16 bit
  		StackConverter convert = new StackConverter(image);
  		convert.convertToGray16();
  		// set scaling to previous value
  		ImageConverter.setDoScaling(scaling);
  		// set calibration
  		double [] coeff = {min, 1.0};
  		image.getCalibration().setFunction(Calibration.STRAIGHT_LINE, coeff, "Grey Value");
  	}
  
  }
  
  /*
   * Copyright (C) 2010-2014 - Andreas Maier 
   * CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
  */