generate_eps 3.85 KB
Newer Older
1
2
3
4
5
#!/bin/bash

echo "view2 produces a series of XY slices  a different z locations."

function print_the_help {
Whitney Armstrong's avatar
Whitney Armstrong committed
6
  echo "USAGE: $0 -i <PRIM_FILE>  "
7
8
9
10
11
  echo "  OPTIONS: "
  echo "            -t,--tag           filename tag (default: view1)"
  exit 
}

Whitney Armstrong's avatar
Whitney Armstrong committed
12
FILE_TAG="view12"
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
INPUT_FILE="g4_0000.prim"


POSITIONAL=()
while [[ $# -gt 0 ]]
do
  key="$1"

  case $key in
    -h|--help)
      shift # past argument
      print_the_help
      ;;
    -t|--tag)
      FILE_TAG="$2"
      shift # past argument
      shift # past value
      ;;
    -i|--input)
      INPUT_FILE="$2"
      shift # past argument
      shift # past value
      ;;
    *)    # unknown option
      #POSITIONAL+=("$1") # save it in an array for later
      echo "unknown option $1"
      print_the_help
      shift # past argument
      ;;
  esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters


# units are mm
#dawncut 0 0 -1 1 ${INPUT_FILE} ${FILE_TAG}a_temp0.prim 
#dawncut 0 0 1 1  ${FILE_TAG}a_temp0.prim  ${FILE_TAG}a.prim
cp ${INPUT_FILE} ${FILE_TAG}a.prim
51
dawn  -d ${FILE_TAG}a.prim 
52
53
54
55
56
57
58
ps2pdf ${FILE_TAG}a.eps ${FILE_TAG}a_full.pdf
gs -o ${FILE_TAG}a.pdf -sDEVICE=pdfwrite \
  -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \
  -f ${FILE_TAG}a_full.pdf
pdftoppm ${FILE_TAG}a.pdf ${FILE_TAG}a -png -singlefile -cropbox

# slice at z = 2m
Whitney Armstrong's avatar
Whitney Armstrong committed
59
dawncut  1  0  0.01666 100 ${INPUT_FILE} ${FILE_TAG}b_temp0.prim 
Whitney Armstrong's avatar
Whitney Armstrong committed
60
dawncut -1  0 -0.01666 0 ${FILE_TAG}b_temp0.prim  ${FILE_TAG}b.prim
61
62
63
64
65
66
67
dawn -d ${FILE_TAG}b.prim 
ps2pdf ${FILE_TAG}b.eps ${FILE_TAG}b_full.pdf
gs -o ${FILE_TAG}b.pdf -sDEVICE=pdfwrite \
  -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \
  -f ${FILE_TAG}b_full.pdf
pdftoppm ${FILE_TAG}b.pdf ${FILE_TAG}b -png -singlefile -cropbox

68

Whitney Armstrong's avatar
Whitney Armstrong committed
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#dawncut 0  1 0 10 ${INPUT_FILE} ${FILE_TAG}c_temp0.prim 
#dawncut 0 -1 0 0 ${FILE_TAG}c_temp0.prim  ${FILE_TAG}c.prim
#dawn -d ${FILE_TAG}c.prim 
#ps2pdf ${FILE_TAG}c.eps ${FILE_TAG}c_full.pdf
#gs -o ${FILE_TAG}c.pdf -sDEVICE=pdfwrite \
#  -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \
#  -f ${FILE_TAG}c_full.pdf
#pdftoppm ${FILE_TAG}c.pdf ${FILE_TAG}c -png -singlefile -cropbox
#
## slice at z = -1m
#dawncut 0 0 1 -1000 ${INPUT_FILE} ${FILE_TAG}d_temp0.prim 
#dawncut 0 0 -1 1001 ${FILE_TAG}d_temp0.prim  ${FILE_TAG}d.prim
#dawn -d ${FILE_TAG}d.prim 
#ps2pdf ${FILE_TAG}d.eps ${FILE_TAG}d_full.pdf
#gs -o ${FILE_TAG}d.pdf -sDEVICE=pdfwrite \
#  -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \
#  -f ${FILE_TAG}d_full.pdf
#pdftoppm ${FILE_TAG}d.pdf ${FILE_TAG}d -png -singlefile -cropbox
#
## slice at z = -2m
#dawncut 0 0 1 -2000 ${INPUT_FILE} ${FILE_TAG}e_temp0.prim 
#dawncut 0 0 -1 2001 ${FILE_TAG}e_temp0.prim  ${FILE_TAG}e.prim
#dawn -d ${FILE_TAG}e.prim 
#ps2pdf ${FILE_TAG}e.eps ${FILE_TAG}e_full.pdf
#gs -o ${FILE_TAG}e.pdf -sDEVICE=pdfwrite \
#  -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \
#  -f ${FILE_TAG}e_full.pdf
#pdftoppm ${FILE_TAG}e.pdf ${FILE_TAG}e -png -singlefile -cropbox
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119


#https://geant4.kek.jp/~tanaka/DAWN/About_DAWNCUT.html
# % dawncut a b c d input-file [output-file]
#
#       input-file : Source DAWN-format file describing a 3D scene.
#
#       output-file: Output DAWN-format file describing a plane-clipped 
#                    3D scene.  The default output stream is stdout.
#
#       a, b, c, d : Parameters  a, b, c, and d  are double values to
#                    define a clipping plane described with the following 
#                    equation: 
#
#                       ax + by + cz + d = 0. 
#
#                    Vector (a,b,c) defines the normal vector of 
#                    the clipping plane.  
#                    3D scene data in the half space at the front side 
#                    of the clipping plane are clipped out and erased. 
#                    The normal vector (a,b,c) needs not be a unit vector. 
#                    If it is a unit vector, parameter "d" gives distance 
#                    between the clipping plane and origin (0,0,0).