provenance challenge workflow
authorAleš Křenek <ljocha@ics.muni.cz>
Wed, 23 Aug 2006 12:19:41 +0000 (12:19 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Wed, 23 Aug 2006 12:19:41 +0000 (12:19 +0000)
15 files changed:
org.glite.jp/examples/pch06/align.sh [new file with mode: 0644]
org.glite.jp/examples/pch06/align_warp [new file with mode: 0644]
org.glite.jp/examples/pch06/convert [new file with mode: 0644]
org.glite.jp/examples/pch06/convert.sh [new file with mode: 0644]
org.glite.jp/examples/pch06/delegates.xml [new file with mode: 0644]
org.glite.jp/examples/pch06/pch06.jdl-template [new file with mode: 0644]
org.glite.jp/examples/pch06/pch06.runme [new file with mode: 0644]
org.glite.jp/examples/pch06/reslice [new file with mode: 0644]
org.glite.jp/examples/pch06/reslice.sh [new file with mode: 0644]
org.glite.jp/examples/pch06/scanheader [new file with mode: 0644]
org.glite.jp/examples/pch06/slicer [new file with mode: 0644]
org.glite.jp/examples/pch06/slicer.sh [new file with mode: 0644]
org.glite.jp/examples/pch06/softmean [new file with mode: 0644]
org.glite.jp/examples/pch06/softmean.sh [new file with mode: 0644]
org.glite.jp/examples/pch06/voce.conf [new file with mode: 0644]

diff --git a/org.glite.jp/examples/pch06/align.sh b/org.glite.jp/examples/pch06/align.sh
new file mode 100644 (file)
index 0000000..1900174
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1.img file://$PWD/anatomy.img
+globus-url-copy $1.hdr file://$PWD/anatomy.hdr
+globus-url-copy $2.img file://$PWD/reference.img
+globus-url-copy $2.hdr file://$PWD/reference.hdr
+
+./align_warp reference.img anatomy.img warp -m 12 -q
+echo GLOBAL_MAXIMUM=`./scanheader anatomy.img | grep '^global maximum=' | sed 's/global maximum=//'`
+
+globus-url-copy file://$PWD/warp $1.warp
diff --git a/org.glite.jp/examples/pch06/align_warp b/org.glite.jp/examples/pch06/align_warp
new file mode 100644 (file)
index 0000000..5ba7bc1
Binary files /dev/null and b/org.glite.jp/examples/pch06/align_warp differ
diff --git a/org.glite.jp/examples/pch06/convert b/org.glite.jp/examples/pch06/convert
new file mode 100644 (file)
index 0000000..432407f
Binary files /dev/null and b/org.glite.jp/examples/pch06/convert differ
diff --git a/org.glite.jp/examples/pch06/convert.sh b/org.glite.jp/examples/pch06/convert.sh
new file mode 100644 (file)
index 0000000..0de6f5a
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1-$2.pgm atlas.pgm
+
+./convert atlas.pgm atlas.gif
+
+globus-url-copy atlas.gif $1-$2.gif
diff --git a/org.glite.jp/examples/pch06/delegates.xml b/org.glite.jp/examples/pch06/delegates.xml
new file mode 100644 (file)
index 0000000..d73c17a
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE delegatemap [
+  <!ELEMENT delegatemap (delegate+)>
+  <!ELEMENT delegate (#PCDATA)>
+  <!ATTLIST delegate decode CDATA #IMPLIED>
+  <!ATTLIST delegate encode CDATA #IMPLIED>
+  <!ATTLIST delegate mode CDATA #IMPLIED>
+  <!ATTLIST delegate spawn CDATA #IMPLIED>
+  <!ATTLIST delegate stealth CDATA #IMPLIED>
+  <!ATTLIST delegate command CDATA #REQUIRED>
+]>
+<!--
+  Delegate command file.
+
+  Commands which specify
+
+    decode="in_format" encode="out_format"
+
+  specify the rules for converting from in_format to out_format These
+  rules may be used to translate directly between formats.
+
+  Commands which specify only
+
+    decode="in_format"
+
+  specify the rules for converting from in_format to some format that
+  ImageMagick will automatically recognize. These rules are used to
+  decode formats.
+
+  Commands which specify only
+
+   encode="out_format"
+
+  specify the rules for an "encoder" which may accept any input format.
+
+  For delegates other than ps:alpha, ps:color, ps:cmyk, ps:mono, pcl-color,
+  pcl-cmyk, pcl-mono, and mpeg-encode the substitution rules are as follows:
+
+    %i  input image filename
+    %o  output image filename
+    %u  unique temporary filename
+    %z  secondary unique temporary filename
+
+    %#  input image signature
+    %b  image file size
+    %c  input image comment
+    %g  window group
+    %h  image rows (height)
+    %k  input image number colors
+    %m  input image format
+    %p  page number
+    %q  input image depth
+    %s  scene number
+    %w  image columns (width)
+    %x  input image x resolution
+    %y  input image y resolution
+
+-->
+<delegatemap>
+  <delegate decode="autotrace" stealth="True" command='"autotrace" -output-format svg -output-file "%o" "%i"' />
+  <delegate decode="browse" stealth="True" spawn="True" command='"htmlview" http://www.imagemagick.org/'  />
+  <delegate decode="cgm" thread-support="False" command='"ralcgm" -d ps -oC &lt; "%i" &gt; "%o" 2>/dev/null' />
+  <delegate decode="cr2" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="crw" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="dcr" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="mrw" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="nef" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="orf" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="raf" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="x3f" thread-support="False" command='"dcraw" -3 -w -c "%i" &gt; "%o"' />
+  <delegate decode="dvi" command='"dvips" -R -q -o "%o" "%i"' />
+  <delegate decode="edit" stealth="True" command='"xterm" -title "Edit Image Comment" -e vi "%o"' />
+  <delegate decode="eps" encode="pdf" mode="bi" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE="pdfwrite" -sOutputFile="%o" -f"%i"' />
+  <delegate decode="eps" encode="ps" mode="bi" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE="pswrite" -sOutputFile="%o" -f"%i"' />
+  <delegate decode="fig" command='"fig2dev" -L ps "%i" "%o"' />
+  <delegate decode="gplt" command='"echo" "set size 1.25,0.62
+    set terminal postscript portrait color solid; set output "%o"; load "%i"" &gt; "%u";"gnuplot" "%u"' />
+  <delegate decode="ps:alpha" stealth="True" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s"' />
+  <delegate decode="ps:color" stealth="True" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s"' />
+  <delegate decode="ps:cmyk" stealth="True" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s"' />
+  <delegate decode="ps:mono" stealth="True" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s"' />
+  <delegate decode="hpg" command='"hp2xx" -q -m eps -f `basename "%o"` "%i"
+    mv -f `basename "%o"` "%o"' />
+  <delegate decode="hpgl" command='if [ -e hp2xx -o -e /usr/bin/hp2xx ]; then
+    hp2xx -q -m eps -f `basename "%o"` "%i"
+    mv -f `basename "%o"` "%o
+  else
+    echo "You need to install hp2xx to use HPGL files with ImageMagick."
+    exit 1
+  fi' />
+  <delegate decode="htm" command='"html2ps" -U -o "%o" "%i"' />
+  <delegate decode="html" command='"html2ps" -U -o "%o" "%i"' />
+  <delegate decode="https" command='"wget" -q -O "%o" "https:%M"' />
+  <delegate decode="ilbm" command='"ilbmtoppm" "%i" &gt; "%o"' />
+  <delegate decode="man" command='"groff" -man -Tps "%i" &gt; "%o"' />
+  <delegate decode="mpeg-decode" stealth="True" command='"mpeg2decode" -q -b "%i" -f -r -o3 "%u%%d"' />
+  <delegate encode="mpeg-encode" stealth="True" command='"mpeg2encode" "%i" "%o"' />
+  <delegate decode="pcl-color" stealth="True" command='"pcl6" -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "%s"' />
+  <delegate decode="pcl-cmyk" stealth="True" command='"pcl6" -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "%s"' />
+  <delegate decode="pcl-mono" stealth="True" command='"pcl6" -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-g%s" "-r%s" %s "-sOutputFile=%s" "%s"' />
+  <delegate decode="pdf" encode="eps" mode="bi" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE="epswrite" -sOutputFile="%o" -f"%i"' />
+  <delegate decode="pdf" encode="ps" mode="bi" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE="pswrite" -sOutputFile="%o" -f"%i"' />
+  <delegate decode="pnm" encode="ilbm" mode="encode" command='"ppmtoilbm" -24if "%i" &gt; "%o"' />
+  <delegate decode="pnm" encode="launch" mode="encode" command='"gimp" "%i"' />
+  <delegate decode="miff" encode="win" mode="encode" command='"/usr/local/bin/display" -immutable "%i"' />
+  <delegate decode="pov" command='"povray" "+i"%i"" -D0 +o"%o" +fn%q +w%w +h%h +a -q9 -kfi"%s" -kff"%n"
+    "convert" -concatenate "%o*.png" "%o"' />
+  <delegate decode="ps" encode="eps" mode="bi" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE="epswrite" -sOutputFile="%o" -f"%i"' />
+  <delegate decode="ps" encode="pdf" mode="bi" command='"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 -dEPSCrop -sDEVICE="pdfwrite" -sOutputFile="%o" -f"%i"' />
+  <delegate decode="ps" encode="print" mode="encode" command='lpr "%i"' />
+  <delegate decode="rad" command='"ra_ppm" -g 1.0 "%i" "%o"' />
+  <delegate decode="rgba" encode="rle" mode="encode" command='"modify" -flip -size %wx%h "rgba:%i"
+    "rawtorle" -w %w -h %h -n 4 -o "%o" "%i"' />
+  <delegate decode="scan" command='"scanimage" -d "%i" &gt; "%o"' />
+  <delegate decode="shtml" command='"html2ps" -U -o "%o" "%i"' />
+  <delegate decode="svg" command='"wmf2svg" -o "%o" "%i"' />
+  <delegate decode="txt" encode="ps" mode="bi" command='"enscript" -o "%o" "%i"' />
+  <delegate decode="wmf" command='"wmf2svg" -o "%o" "%i"' />
+  <delegate encode="show" stealth="True" spawn="True" command='"/usr/local/bin/display" -immutable -delay 0 -window_group %g -title "%l of %f" "tmp:%i"' />
+</delegatemap>
diff --git a/org.glite.jp/examples/pch06/pch06.jdl-template b/org.glite.jp/examples/pch06/pch06.jdl-template
new file mode 100644 (file)
index 0000000..daf996e
--- /dev/null
@@ -0,0 +1,107 @@
+[
+
+type = "dag";
+
+stdoutput = "std.out";
+stderror = "std.err";
+outputsandbox = { "std.out", "std.err" };
+
+nodes = [
+       align1 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE1 REFERENCE";
+               inputsandbox = { "align.sh", "align_warp", "scanheader" };
+       ] ];
+       align2 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE2 REFERENCE";
+               inputsandbox = { "align.sh", "align_warp" };
+       ] ];
+       align3 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE3 REFERENCE";
+               inputsandbox = { "align.sh", "align_warp" };
+       ] ];
+       align4 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE4 REFERENCE";
+               inputsandbox = { "align.sh", "align_warp" };
+       ] ];
+
+
+       reslice1 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE1"; 
+               inputsandbox = { "reslice.sh", "reslice" };
+       ] ];
+       reslice2 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE2"; 
+               inputsandbox = { "reslice.sh", "reslice" };
+       ] ];
+       reslice3 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE3"; 
+               inputsandbox = { "reslice.sh", "reslice" };
+       ] ];
+       reslice4 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE4"; 
+               inputsandbox = { "reslice.sh", "reslice" };
+       ] ];
+
+       softmean = [ description = [
+               executable = "softmean.sh";
+               arguments = "BASE1 BASE2 BASE3 BASE4 ATLAS";
+               inputsandbox = { "softmean.sh", "softmean" };
+       ] ];
+
+       slicerx = [ description = [
+               executable = "slicer.sh";
+               arguments = "ATLAS x";
+               inputsandbox = { "slicer.sh", "slicer" };
+       ] ];
+       slicery = [ description = [
+               executable = "slicer.sh";
+               arguments = "ATLAS y";
+               inputsandbox = { "slicer.sh", "slicer" };
+       ] ];
+       slicerz = [ description = [
+               executable = "slicer.sh";
+               arguments = "ATLAS z";
+               inputsandbox = { "slicer.sh", "slicer" };
+       ] ];
+
+       convertx = [ description = [
+               executable = "convert.sh"; 
+               arguments = "ATLAS x";
+               inputsandbox = { "convert.sh", "convert", "delegates.xml" };
+       ] ];
+       converty = [ description = [
+               executable = "convert.sh"; 
+               arguments = "ATLAS y";
+               inputsandbox = { "convert.sh", "convert", "delegates.xml" };
+       ] ];
+       convertz = [ description = [
+               executable = "convert.sh"; 
+               arguments = "ATLAS z";
+               inputsandbox = { "convert.sh", "convert", "delegates.xml" };
+       ] ];
+
+];
+
+       dependencies = {
+               { align1, reslice1 },
+               { align2, reslice2 },
+               { align3, reslice3 },
+               { align4, reslice4 },
+               { { reslice1, reslice2, reslice3, reslice4 }, softmean },
+               { softmean, { slicerx, slicery, slicerz } },
+               { slicerx, convertx },
+               { slicery, converty },
+               { slicerz, convertz }
+       };
+
+
+
+];
diff --git a/org.glite.jp/examples/pch06/pch06.runme b/org.glite.jp/examples/pch06/pch06.runme
new file mode 100644 (file)
index 0000000..7b852fc
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+if [ -z "$6" ]; then
+       echo usage: $0 reference base1 base2 base3 base4 atlas
+       echo "  all args are URLs without suffix"
+       exit 1
+fi
+
+sed "s/REFERENCE/$1/; s/BASE1/$2/; s/BASE2/$3/; s/BASE3/$4/; s/BASE4/$5/; s/ATLAS/$6/" pch06.jdl-template >pch06.jdl
+
+# glite-job-submit --config-vo voce.conf pch06.jdl
+
+
diff --git a/org.glite.jp/examples/pch06/reslice b/org.glite.jp/examples/pch06/reslice
new file mode 100644 (file)
index 0000000..e5527aa
Binary files /dev/null and b/org.glite.jp/examples/pch06/reslice differ
diff --git a/org.glite.jp/examples/pch06/reslice.sh b/org.glite.jp/examples/pch06/reslice.sh
new file mode 100644 (file)
index 0000000..4bdc3af
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1.warp file://$PWD/warp
+globus-url-copy $1.img file://$PWD/anatomy.img
+globus-url-copy $1.hdr file://$PWD/anatomy.hdr
+
+./reslice warp resliced
+
+globus-url-copy file://$PWD/resliced.img $1-resliced.img
+globus-url-copy file://$PWD/resliced.hdr $1-resliced.hdr
diff --git a/org.glite.jp/examples/pch06/scanheader b/org.glite.jp/examples/pch06/scanheader
new file mode 100644 (file)
index 0000000..ddc7546
Binary files /dev/null and b/org.glite.jp/examples/pch06/scanheader differ
diff --git a/org.glite.jp/examples/pch06/slicer b/org.glite.jp/examples/pch06/slicer
new file mode 100644 (file)
index 0000000..aa655ca
Binary files /dev/null and b/org.glite.jp/examples/pch06/slicer differ
diff --git a/org.glite.jp/examples/pch06/slicer.sh b/org.glite.jp/examples/pch06/slicer.sh
new file mode 100644 (file)
index 0000000..dc65b59
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1.hdr file://$PWD/atlas.hdr
+globus-url-copy $1.img file://$PWD/atlas.img
+
+./slicer atlas.hdr -$2 .5 atlas-$2.pgm
+
+globus-url-copy file://$PWD/atlas-$2.pgm $1-$2.pgm
diff --git a/org.glite.jp/examples/pch06/softmean b/org.glite.jp/examples/pch06/softmean
new file mode 100644 (file)
index 0000000..018a9a7
Binary files /dev/null and b/org.glite.jp/examples/pch06/softmean differ
diff --git a/org.glite.jp/examples/pch06/softmean.sh b/org.glite.jp/examples/pch06/softmean.sh
new file mode 100644 (file)
index 0000000..6fa3e68
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1-resliced.img file://$PWD/resliced1.img
+globus-url-copy $1-resliced.hdr file://$PWD/resliced1.hdr
+globus-url-copy $2-resliced.img file://$PWD/resliced2.img
+globus-url-copy $2-resliced.hdr file://$PWD/resliced2.hdr
+globus-url-copy $3-resliced.img file://$PWD/resliced3.img
+globus-url-copy $3-resliced.hdr file://$PWD/resliced3.hdr
+globus-url-copy $4-resliced.img file://$PWD/resliced4.img
+globus-url-copy $4-resliced.hdr file://$PWD/resliced4.hdr
+
+./softmean atlas.hdr y null resliced1.img resliced2.img resliced3.img resliced4.img
+
+globus-url-copy file://$PWD/atlas.img $5.img
+globus-url-copy file://$PWD/atlas.hdr $5.hdr
diff --git a/org.glite.jp/examples/pch06/voce.conf b/org.glite.jp/examples/pch06/voce.conf
new file mode 100644 (file)
index 0000000..de74550
--- /dev/null
@@ -0,0 +1,12 @@
+[
+        VirtualOrganisation = "voce";
+        HLRLocation = "";
+        NSAddresses = {
+#            "egee-rb-05.cnaf.infn.it"
+            "skurut2.cesnet.cz"
+        };
+        LBAddresses = {
+            {"skurut1.cesnet.cz"}
+        };
+        MyProxyServer = "myproxy.cern.ch";
+]