annotate imagej2_convert_format.py @ 0:312e8ce708b1 draft

planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
author iuc
date Tue, 09 Jun 2015 12:21:40 -0400
parents
children 14d09b0ab9e1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
1 #!/usr/bin/env python
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
2 # Galaxy wrapper for use with Imagej2 via bioformats and javabridge by Greg Von Kuster
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
3 """
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
4 A wrapper script for running ImageJ2 commands via bioformats and javabridge.
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
5 """
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
6 import argparse
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
7 import imagej2_base_utils
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
8 import imagej2_utils
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
9
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
10 if __name__=="__main__":
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
11 # Parse Command Line.
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
12 parser = argparse.ArgumentParser()
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
13 parser.add_argument( '--in_fname', dest='in_fname', help='Path to the input file' )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
14 parser.add_argument( '--input_datatype', dest='input_datatype', help='Input image datatype' )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
15 parser.add_argument( '--max_heap_size_type', dest='max_heap_size_type', help='Type (default or megabytes) of max_heap_size value' )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
16 parser.add_argument( '--max_heap_size', dest='max_heap_size', help='Maximum size of the memory allocation pool used by the JVM.' )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
17 parser.add_argument( '--output_datatype', dest='output_datatype', help='Output image datatype' )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
18 parser.add_argument( '--out_fname', help='Path to the output file' )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
19 args = parser.parse_args()
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
20 # Set the size of the memory allocation pool used by the JVM.
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
21 max_heap_size = imagej2_base_utils.get_max_heap_size_value( args.max_heap_size_type, args.max_heap_size )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
22 # Start the JVM via the Javabridge.
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
23 imagej2_utils.start_vm( args=None, class_path=None, max_heap_size=max_heap_size, run_headless=True )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
24 try:
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
25 tmp_dir = imagej2_base_utils.get_temp_dir()
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
26 in_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.in_fname, args.input_datatype )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
27 # Load the input image.
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
28 image, scale = imagej2_utils.load_image( in_image_path, rescale=False, wants_max_intensity=True )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
29 # Write the output image.
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
30 out_image_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
31 imagej2_utils.write_image( image_path=out_image_path, pixels=image, pixel_type=str( image.dtype ), move_to=args.out_fname )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
32 except Exception, e:
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
33 imagej2_base_utils.stop_err( str( e ) )
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
34 finally:
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
35 imagej2_utils.kill_vm()
312e8ce708b1 planemo upload commit 4bf97847c35c4dcf9638008b9b4b6c4e10015f19
iuc
parents:
diff changeset
36 imagej2_base_utils.cleanup_before_exit( tmp_dir )