// Load Fiji dependencies import ij.IJ; // calls imagej import ij.Prefs; // calls imagej settings import ij.ImagePlus; import java.lang.Runtime; import java.io.File; import java.io.FilenameFilter; runtime = Runtime.getRuntime(); System.out.println(runtime.availableProcessors() + " cores available for multi-threading"); //Prefs.setThreads(1); // defines the number of threads allowed //print("Threads: "+Prefs.getThreads()); // prints thread setting in output System.out.println("Start loading parameters"); // Directory, and first .czi System.out.println("========================================================="); System.out.println("Directory:"); image_file_directory = System.getProperty( "image_file_directory" ); first_xml_filename = System.getProperty( "first_xml_filename" ); hdf5_xml_filename = System.getProperty( "hdf5_xml_filename" ); System.out.println( "dir=" + image_file_directory ); System.out.println( "xml_filename=" + first_xml_filename ); System.out.println( "hdf5_xml_filename=" + hdf5_xml_filename ); // Dataset settings System.out.println("========================================================="); System.out.println("Dataset:"); resave_angle = System.getProperty( "resave_angle" ); resave_channel = System.getProperty( "resave_channel" ); resave_illumination = System.getProperty( "resave_illumination" ); resave_timepoint = System.getProperty( "resave_timepoint" ); System.out.println( "resave_angle=" + resave_angle ); System.out.println( "resave_channel=" + resave_channel ); System.out.println( "resave_illumination=" + resave_illumination ); System.out.println( "resave_timepoint=" + resave_timepoint); // Hdf5 settings System.out.println("========================================================="); System.out.println("Hdf5 settings:"); subsampling_factors = System.getProperty( "subsampling_factors" ); hdf5_chunk_sizes = System.getProperty( "hdf5_chunk_sizes" ); timepoints_per_partition = System.getProperty( "timepoints_per_partition" ); setups_per_partition = System.getProperty( "setups_per_partition" ); run_only_job_number = System.getProperty( "run_only_job_number" ); System.out.println( "subsampling_factors=" + subsampling_factors); System.out.println( "hdf5_chunk_sizes=" + hdf5_chunk_sizes ); System.out.println( "timepoints_per_partition=" + timepoints_per_partition ); System.out.println( "setups_per_partition=" + setups_per_partition ); System.out.println( "run_only_job_number=" + run_only_job_number ); // Add a switch for choosing between 16 or 32 bit fusion_switch = System.getProperty( "fusion_switch" ); System.out.println( "Output Datatype = " + fusion_switch ); convert_32bit = System.getProperty( "convert_32bit" ); if ( fusion_switch.equalsIgnoreCase( "deconvolution" ) ) { data_string = "convert_32bit=" + convert_32bit; System.out.println( "Data string = " + data_string ); } else if ( fusion_switch.equalsIgnoreCase( "fusion" ) ) { data_string = ""; } // Activate cluster processing System.out.println("========================================================="); System.out.println("Cluster setting:"); try{ IJ.run("Toggle Cluster Processing", "display_cluster"); } catch ( e ) { print( "[export_output::cluster setting] caught exception: "+e ); //important to fail the process if exception occurs runtime.exit(1); } // Executes Fiji plugin System.out.println("========================================================="); System.out.println("Start plugin:"); try{ IJ.run("As HDF5", "select_xml=" + image_file_directory + first_xml_filename + ".xml " + "resave_angle=[" + resave_angle + "] " + "resave_channel=[" + resave_channel + "] " + "resave_illumination=[" + resave_illumination + "] " + "resave_timepoint=[" + resave_timepoint + "] " + "manual_mipmap_setup " + "subsampling_factors=[" + subsampling_factors + "] " + "hdf5_chunk_sizes=[" + hdf5_chunk_sizes + "] " + "split_hdf5 " + "timepoints_per_partition=" + timepoints_per_partition + " " + "setups_per_partition=" + setups_per_partition + " " + "run_only_job_number=" + run_only_job_number + " " + "use_deflate_compression " + "export_path=" + image_file_directory + hdf5_xml_filename + " " + data_string + ""); } catch ( e ) { print( "[export_output::resaving] caught exception: "+e ); //important to fail the process if exception occurs runtime.exit(1); } /* shutdown */ System.exit(0);