EDW profile Measurement

Dear all,
Recently I have looking for a way to extract EDW Varian Wedge profiles and wedge factors from EPID images. Any suggestion would be appreciated.


I think there is no pylinac module for that task. There is documentation for creating your own tool with pylinac:

You could also just use pydicom to extract the data you need. Here is an example I use to analyse our dosimetry m test (varian linac, integrated image):

import numpy as np
import pydicom
from zipfile import ZipFile
from pydicom.pixel_data_handlers.util import apply_modality_lut

#zip file with images from 0, 90, 180, 270 degree
zname = r’/path/to/zip/DoseM.zip’

#list for mean center values
center_results = {}

opening the zip file in READ mode

with ZipFile(zname, ‘r’) as zip:
#loop over all files in zip archive
for file in zip.namelist():
#get filehandle from zip
dcm_file = zip.open(file)
#read file with pydicom
ds = pydicom.dcmread(dcm_file)
#get pixel data
arr = ds.pixel_array

#define center:
dim_y = int(arr.shape[0]/2)
dim_x = int(arr.shape[1]/2)

#apply cu calibration
cu = apply_modality_lut(arr, ds)
#get center part of irradiated area (~16mm x 32mm)
roi = cu[(dim_y-40):(dim_y+40),(dim_x-20):(dim_x+20)]
#calculate mean pixel value of center part
dm_mean = np.mean(roi)
#add mean value to list
center_results[round(ds.GantryAngle,0)] = dm_mean


#calculate dose deviation from 0deg beam (%)
dev_90 = (center_results[0.0] - center_results[90.0])/center_results[0.0] * 100
dev_180 = (center_results[0.0] - center_results[180.0])/center_results[0.0] * 100
dev_270 = (center_results[0.0] - center_results[270.0])/center_results[0.0] * 100

#create results dict
results_dev = {
“90”: dev_90,
“180”: dev_180,
“270”: dev_270