def run(in_dir, ou_dir, extension, minimum, maximum):
    extension = extension.strip()
    extension = "*" + extension

    for path in glob(os.path.join(in_dir, '*.tif')):
        print path + ':',
        IJ.open(path)
        imp = IJ.getImage()
        minima = [x.strip() for x in ch_min.split(';')]
        maxima = [x.strip() for x in ch_max.split(';')]
        for c in range(0, imp.getNChannels()):
            imp.setC(c + 1)
            ip = imp.getProcessor()
            stats = ip.getStats()
            M = 2**ip.getBitDepth()
            if minima[c] == '-1':
                mi = stats.min
            else:
                mi = Double.parseDouble(minima[c])
            if maxima[c] == '-1':
                ma = stats.max
            else:
                ma = Double.parseDouble(maxima[c])
            scale = M / (ma - mi)
            ip.subtract(mi)
            ip.multiply(scale)
            print ' ch' + str(c) + '=[' + str(mi) + ' ... ' + str(ma) + ']',

        print ' '
        IJ.run('Make Composite')
        IJ.run('RGB Color')
        IJ.run('Save',
               'save=[' + os.path.join(ou_dir, os.path.basename(path)) + ']')
        IJ.run('Close All')
    def XML_endElement(self, uri, localName, qName, sourceHandler):

        try:

            if (qName == SELM_Lagrangian.getSimpleName()):
                #/* check all entries set */
                x = 0
            elif (qName == SELM_Lagrangian.tagXML_LagrangianName):
                x = 0
            elif (qName == SELM_Lagrangian.tagXML_LagrangianTypeStr):
                x = 0
            elif (qName == SELM_Lagrangian_CUSTOM1.tagXML_testVariable):
                self.testVariable = Double.parseDouble(
                    self.xmlAttributes.getValue("value"))
                print("WARNING: SELM_Lagrangian_CUSTOM1.py : XML_endElement()")
                print("testVariable = " + str(self.testVariable))

        except Exception, e:
            self.exception_value = e

            print("Error: SELM_Lagrangian_CUSTOM1.py : XML_endElement()")
            if type(e) is java.lang.Exception:
                print(e.getMessage())
                e.printStackTrace()
            else:
                print(e)
  def XML_endElement(self, uri, localName, qName, sourceHandler):
    
    try:
        
      if (qName == SELM_Eulerian.getSimpleName()):
        #/* check all entries set */
        x = 0;
      elif (qName == SELM_Eulerian.tagXML_EulerianName):
        x = 0;
      elif (qName == SELM_Eulerian.tagXML_EulerianTypeStr):
        x = 0;
      elif (qName == SELM_Eulerian_CUSTOM1.tagXML_testVariable):
        self.testVariable = Double.parseDouble(self.xmlAttributes.getValue("value"));
        print("WARNING: SELM_Eulerian_CUSTOM1.py : XML_endElement()");
        print("testVariable = " + str(self.testVariable));

    except Exception, e:
      self.exception_value = e;
      
      print("Error: SELM_Eulerian_CUSTOM1.py : XML_endElement()");                  
      if type(e) is java.lang.Exception:
        print(e.getMessage());
        e.printStackTrace();
      else:
        print(e);  
Beispiel #4
0
 def warn(self):
     bboxString = self.textfield.getText()
     if bboxString == "":
         self.textfield.setBorder(self.defaultborder)
         return
     if len(bboxString.split(",")) != 4:
         self.wrongEntry()
     else:
         for i, coordString in enumerate(bboxString.split(",")):
             try:
                 coord = Double.parseDouble(coordString)
             except NumberFormatException:
                 self.wrongEntry()
                 return
             minmax = {0: (-180, 180), 1: (-90, 90),
                       2: (-180, 180), 3: (-90, 90)}
             if not minmax[i][0] <= coord <= minmax[i][1]:
                 self.wrongEntry()
                 return
         self.textfield.setBorder(self.defaultborder)
         self.dlg.bboxPreviewTextField.setText(bboxString)
Beispiel #5
0
 def warn(self):
     bboxString = self.textfield.getText()
     if bboxString == "":
         self.textfield.setBorder(self.defaultborder)
         return
     if len(bboxString.split(",")) != 4:
         self.wrongEntry()
     else:
         for i, coordString in enumerate(bboxString.split(",")):
             try:
                 coord = Double.parseDouble(coordString)
             except NumberFormatException:
                 self.wrongEntry()
                 return
             minmax = {0: (-180, 180), 1: (-90, 90),
                       2: (-180, 180), 3: (-90, 90)}
             if not minmax[i][0] <= coord <= minmax[i][1]:
                 self.wrongEntry()
                 return
         self.textfield.setBorder(self.defaultborder)
         self.dlg.bboxPreviewTextField.setText(bboxString)
Beispiel #6
0
def stringToDouble(value):
    return Double.parseDouble(value.strip())
def stringToDouble(value):
	return Double.parseDouble(value.strip())
Beispiel #8
0
def parameterScan():
	global scan_device_server_name	
	global scan_1d_front
	global scan_2d_front
	global path 
	global data_file 
	global file_extension 
	global actuators
	global sensors 
	global n_steps 
	global integration_time 
	global start_position_actuators_1D 
	global end_position_actuators_1D 
	global n_steps2 
	global start_position_actuators_2D 
	global end_position_actuators_2D 
	global timebase 
	global scan_number 
	global scan_type 
	global has_trajectory	
	global file_path
	global actuators2D
	#open the file in read only mode
	#file = DataInputStream(FileInputStream("D:\eclipse\workspace\passerelle-soleil\sample-models\paramscan.txt"))
	file =  open(file_path,'r')
	parameters = {}
	for line in file.readlines():
		#print "line ",line
		tokens = line.split('=')
		#print "tokens ",tokens
		if(len(tokens) == 2):
			tok0 = String(tokens[0])
			tok1 = String(tokens[1])
			tok0 = tok0.trim()
			tok1 = tok1.trim()
			parameters[tok0] = tok1
			print tok0,":",tok1
	
	if(parameters.has_key("scan_device_server_name")):
		scan_device_server_name = parameters["scan_device_server_name"]
		
	if(parameters.has_key("scan_1d_front")):
		scan_1d_front = parameters["scan_1d_front"]
		
	if(parameters.has_key("scan_2d_front")):
		scan_2d_front = parameters["scan_2d_front"]
	
	if(parameters.has_key("path")):
		path = parameters["path"]
	
	if(parameters.has_key("data_file")):
		data_file = parameters["data_file"]
	
	if(parameters.has_key("file_extension")):
		file_extension = parameters["file_extension"]
	
	if(parameters.has_key("actuators")):
		actuators = parameters["actuators"].split(",")
		#print  "parameterScan actuators ",parameters["actuators"].split(",")
   	
   	if(parameters.has_key("sensors")):
		sensors = parameters["sensors"].split(",")
  	
  	#if(parameters.has_key("n_steps")):
		#n_steps = Integer.parseInt(parameters["n_steps"])
   	
   	#if(parameters.has_key("integration_time")):
		#integration_time = Double.parseDouble(parameters["integration_time"])
	
	#if(parameters.has_key("start_position_actuators_1D")):	
	#	stringTable = parameters["start_position_actuators_1D"].split(",")
	#	start_position_actuators_1D = []
	#	for i in stringTable:
	#		start_position_actuators_1D.append(Double.parseDouble(i))
   	
   	if(parameters.has_key("end_position_actuators_1D")):
		stringTable = parameters["end_position_actuators_1D"].split(",")
		end_position_actuators_1D = []
		for i in stringTable:
			end_position_actuators_1D.append(Double.parseDouble(i))
	
	if(parameters.has_key("actuators2D")):
		actuators2D = parameters["actuators2D"].split(",")
		#print  "parameterScan actuators ",parameters["actuators"].split(",")
	
	if(parameters.has_key("n_steps2")):
		n_steps2 = Integer.parseInt(parameters["n_steps2"])
	
	if(parameters.has_key("start_position_actuators_2D")):	
		stringTable = parameters["start_position_actuators_2D"].split(",")
		start_position_actuators_2D = []
		for i in stringTable:
			start_position_actuators_2D.append(Double.parseDouble(i))
   	
   	if(parameters.has_key("end_position_actuators_2D")):
		stringTable = parameters["end_position_actuators_2D"].split(",")
		end_position_actuators_2D = []
		for i in stringTable:
			end_position_actuators_2D.append(Double.parseDouble(i))
   	
   	if(parameters.has_key("timebase")):
		timebase = parameters["timebase"]
	
	if(parameters.has_key("scan_number")):
		scan_number = Integer.parseInt(parameters["scan_number"])
   	
   	if(parameters.has_key("scan_type")):
		scan_type = Integer.parseInt(parameters["scan_type"])
   	
   	if(parameters.has_key("has_trajectory")):
		has_trajectory = Integer.parseInt(parameters["has_trajectory"])
Beispiel #9
0
message = container.getInputMessage(0)
messageBody = message.getBodyContentAsString()

#if inputPortNr == 0:
print "input 0: ",messageBody
file_path = messageBody
	
message = container.getInputMessage(1)
messageBody = Long.parseLong(message.getBodyContentAsString())
#if inputPortNr == 1:
print "input 1: ",messageBody
n_steps = messageBody


message = container.getInputMessage(2)
messageBody = Double.parseDouble(message.getBodyContentAsString())
print "input 2: ",messageBody
integration_time = messageBody

message = container.getInputMessage(3)
messageBody = message.getBodyContentAsString()
print "input 3: ",messageBody
stringTable = messageBody.split(",")
start_position_actuators_1D = []
for i in stringTable:
		start_position_actuators_1D.append(Double.parseDouble(i))
#===============================================
# Get all parameters from file
#===============================================
parameterScan()
		
    def _getIndex(self, even, odd):

        mergePolicy = LogDocMergePolicy()
        mergePolicy.setMergeFactor(1000)
        directory = RAMDirectory()
        self.dirs.append(directory)

        writer = self.getWriter(directory=directory,
                                analyzer=SimpleAnalyzer(Version.LUCENE_CURRENT),
                                maxBufferedDocs=2, mergePolicy=mergePolicy)

        if self.dvStringSorted:
            # Index sorted
            stringDVType = FieldInfo.DocValuesType.SORTED
        elif self.notSorted:
            # Index non-sorted
            stringDVType = FieldInfo.DocValuesType.BINARY
        else:
            # sorted anyway
            stringDVType = FieldInfo.DocValuesType.SORTED

        ft1 = FieldType()
        ft1.setStored(True)
        ft2 = FieldType()
        ft2.setIndexed(True)

        for i in xrange(len(self.data)):
            if (i % 2 == 0 and even) or (i % 2 == 1 and odd):
                doc = Document()
                doc.add(Field("tracer", self.data[i][0], ft1))
                doc.add(TextField("contents", self.data[i][1], Field.Store.NO))
                if self.data[i][2] is not None:
                    doc.add(StringField("int", self.data[i][2], Field.Store.NO))
                    if self.supportsDocValues:
                        doc.add(NumericDocValuesField("int_dv", Long.parseLong(self.data[i][2])))
                if self.data[i][3] is not None:
                    doc.add(StringField("float", self.data[i][3], Field.Store.NO))
                    if self.supportsDocValues:
                        doc.add(FloatDocValuesField("float_dv", Float.parseFloat(self.data[i][3])))

                if self.data[i][4] is not None:
                    doc.add(StringField("string", self.data[i][4], Field.Store.NO))
                    if self.supportsDocValues:
                        if stringDVType == FieldInfo.DocValuesType.SORTED:
                            doc.add(SortedDocValuesField("string_dv", BytesRef(self.data[i][4])))
                        elif stringDVType == FieldInfo.DocValuesType.BINARY:
                            doc.add(BinaryDocValuesField("string_dv", BytesRef(self.data[i][4])))
                        else:
                            raise ValueError("unknown type " + stringDVType)

                if self.data[i][5] is not None:
                    doc.add(StringField("custom", self.data[i][5], Field.Store.NO))
                if self.data[i][6] is not None:
                    doc.add(StringField("i18n", self.data[i][6], Field.Store.NO))
                if self.data[i][7] is not None:
                    doc.add(StringField("long", self.data[i][7], Field.Store.NO))
                if self.data[i][8] is not None:
                    doc.add(StringField("double", self.data[i][8], Field.Store.NO))
                    if self.supportsDocValues:
                        doc.add(NumericDocValuesField("double_dv", Double.doubleToRawLongBits(Double.parseDouble(self.data[i][8]))))
                if self.data[i][9] is not None:
                    doc.add(StringField("short", self.data[i][9], Field.Store.NO))
                if self.data[i][10] is not None:
                    doc.add(StringField("byte", self.data[i][10], Field.Store.NO))
                if self.data[i][11] is not None:
                    doc.add(StringField("parser", self.data[i][11], Field.Store.NO))

                for f in doc.getFields():
                    if f.fieldType().indexed() and not f.fieldType().omitNorms():
                        Field.cast_(f).setBoost(2.0)

                writer.addDocument(doc)

        reader = writer.getReader()
        writer.close()

        return self.getSearcher(reader=reader)
import be.isencia.passerelle.message.MessageFactory as MessageFactory
import java.lang.Double as Double
import java.lang.reflect.Array as Array
import be.isencia.passerelle.message.ManagedMessage as ManagedMessage

# get content of port 0
message = container.getInputMessage(0)
messageBody = message.getBodyContent()
print "Message: ", messageBody

#process content of input
test = range(messageBody.__len__())
test[0] = 12
print test
test[0] = Double.parseDouble(messageBody[0])

j=0
while j < messageBody.__len__():
	test[j] = Double.parseDouble(messageBody[j])
	j = j+1
print test
i=0
while i < messageBody.__len__():
	test[i] = test[i]+1
	
	i = i+1
	
array(test, Double)
print test
#put result in a passerelle message