comparison imagej2_base_utils.py @ 3:bb65623b90a8 draft

planemo upload commit 8f8692e83217a072a3ed928469621f1f606ab28a-dirty
author iuc
date Tue, 04 Aug 2015 11:15:10 -0400
parents ea7a01d0f218
children 48f25b8408e1
comparison
equal deleted inserted replaced
2:ea7a01d0f218 3:bb65623b90a8
28 return bunwarpj_base_cmd 28 return bunwarpj_base_cmd
29 return None 29 return None
30 30
31 def get_base_command_imagej2( memory_size=None, macro=None, jython_script=None ): 31 def get_base_command_imagej2( memory_size=None, macro=None, jython_script=None ):
32 imagej2_executable = get_imagej2_executable() 32 imagej2_executable = get_imagej2_executable()
33 if imagej2_executable: 33 if imagej2_executable is None:
34 cmd = '%s --headless -DXincgc' % imagej2_executable 34 return None
35 if memory_size is not None: 35 cmd = '%s --ij2 --headless --debug' % imagej2_executable
36 memory_size_cmd = ' -DXms=%s -DXmx=%s' % ( memory_size, memory_size ) 36 if memory_size is not None:
37 cmd += memory_size_cmd 37 memory_size_cmd = ' -DXms=%s -DXmx=%s' % ( memory_size, memory_size )
38 if macro is not None: 38 cmd += memory_size_cmd
39 cmd += ' --macro %s' % os.path.abspath( macro ) 39 if macro is not None:
40 if jython_script is not None: 40 cmd += ' --macro %s' % os.path.abspath( macro )
41 cmd += ' --jython -u %s' % os.path.abspath( jython_script ) 41 if jython_script is not None:
42 return cmd 42 cmd += ' --jython %s' % os.path.abspath( jython_script )
43 return None 43 return cmd
44 44
45 def get_file_extension( image_format ): 45 def get_file_extension( image_format ):
46 """ 46 """
47 Return a valid bioformats file extension based on the received 47 Return a valid bioformats file extension based on the received
48 value of image_format( e.g., "gif" is returned as ".gif". 48 value of image_format( e.g., "gif" is returned as ".gif".
107 sysname, nodename, release, version, machine = os.uname() 107 sysname, nodename, release, version, machine = os.uname()
108 platform_dict[ 'os' ] = sysname.lower() 108 platform_dict[ 'os' ] = sysname.lower()
109 platform_dict[ 'architecture' ] = machine.lower() 109 platform_dict[ 'architecture' ] = machine.lower()
110 return platform_dict 110 return platform_dict
111 111
112 def get_stderr_exception( tmp_err, tmp_stderr, tmp_stdout ): 112 def get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout, include_stdout=False ):
113 tmp_stderr.close() 113 tmp_stderr.close()
114 """ 114 """
115 Return a stderr string of reasonable size. 115 Return a stderr string of reasonable size.
116 """ 116 """
117 # Get stderr, allowing for case where it's very large. 117 # Get stderr, allowing for case where it's very large.
124 if not stderr_str or len( stderr_str ) % buffsize != 0: 124 if not stderr_str or len( stderr_str ) % buffsize != 0:
125 break 125 break
126 except OverflowError: 126 except OverflowError:
127 pass 127 pass
128 tmp_stderr.close() 128 tmp_stderr.close()
129 if include_stdout:
130 tmp_stdout = open( tmp_out, 'rb' )
131 stdout_str = ''
132 buffsize = BUFF_SIZE
133 try:
134 while True:
135 stdout_str += tmp_stdout.read( buffsize )
136 if not stdout_str or len( stdout_str ) % buffsize != 0:
137 break
138 except OverflowError:
139 pass
129 tmp_stdout.close() 140 tmp_stdout.close()
130 return str( stderr_str ) 141 if include_stdout:
142 return 'STDOUT\n%s\n\nSTDERR\n%s\n' % ( stdout_str, stderr_str )
143 return stderr_str
131 144
132 def get_temp_dir( prefix='tmp-imagej-', dir=None ): 145 def get_temp_dir( prefix='tmp-imagej-', dir=None ):
133 """ 146 """
134 Return a temporary directory. 147 Return a temporary directory.
135 """ 148 """
149 file extension that can be used with bioformats. 162 file extension that can be used with bioformats.
150 """ 163 """
151 file_extension = get_file_extension( image_format ) 164 file_extension = get_file_extension( image_format )
152 return get_tempfilename( tmp_dir, file_extension ) 165 return get_tempfilename( tmp_dir, file_extension )
153 166
167 def handle_none_type( val, val_type='float' ):
168 if val is None:
169 return ' None'
170 else:
171 if val_type == 'float':
172 return ' %.1f' % val
173 elif val_type == 'int':
174 return ' %d' % val
175
154 def stop_err( msg ): 176 def stop_err( msg ):
155 sys.stderr.write( msg ) 177 sys.stderr.write( msg )
156 sys.exit( 1 ) 178 sys.exit( 1 )