diff --git a/100idPyApp/Db/pyDevCRLsingle.db b/100idPyApp/Db/pyDevCRLsingle.db
index 6cb88070cbdde564f0d06576d969380e862cc2ba..6a37ec30422e4a9f1446e15bf0c740d67262b80b 100644
--- a/100idPyApp/Db/pyDevCRLsingle.db
+++ b/100idPyApp/Db/pyDevCRLsingle.db
@@ -6,20 +6,40 @@ record(ao, "$(P)CRL$(N):energy"){
 	field(OUT, "@$(OBJ).updateE('VAL')")
 }
 
+record(ai, "$(P)CRL$(N):energy_RBV"){
+  field(DTYP, "pydev")
+  field(INP,  "@pydev.iointr('updated_E')")
+  field(SCAN, "I/O Intr")
+  field(PREC, "5")
+}
+
+
 record(ao, "$(P)CRL$(N):focalSize"){
 	field(EGU, "m")
 	field(DTYP, "pydev")
 	field(OUT, "@$(OBJ).updateFsize('VAL')")
 }
 
-record(bo, "$(P)CRL$(N):fSize_twk_up"){
-	field(DTYP, "pydev")
-	field(OUT, "@$(OBJ).tweakUp()")
+#record(bo, "$(P)CRL$(N):fSize_twk_up"){
+#	field(DTYP, "pydev")
+#	field(OUT, "@$(OBJ).tweakUp()")
+#}
+#
+#record(bo, "$(P)CRL$(N):fSize_twk_dn"){
+#	field(DTYP, "pydev")
+#	field(OUT, "@$(OBJ).tweakDn()")
+#}
+
+record(calcout, "$(P)CRL$(N):fSize_twk_up"){
+	field(INPA, "$(P)CRL$(N):sortedIndex_RBV")
+	field(CALC, "MIN(A+1,2**$(NUM)-1)")
+	field(OUT, "$(P)Filter$(N):sortedIndex PP")
 }
 
-record(bo, "$(P)CRL$(N):fSize_twk_dn"){
-	field(DTYP, "pydev")
-	field(OUT, "@$(OBJ).tweakDn()")
+record(calcout, "$(P)CRL$(N):fSize_twk_dn"){
+	field(INPA, "$(P)CRL$(N):sortedIndex_RBV")
+	field(CALC, "MAX(0,A-1)")
+	field(OUT, "$(P)Filter$(N):sortedIndex PP")
 }
 
 record(ao, "$(P)CRL$(N):slitSize_H"){
@@ -28,6 +48,14 @@ record(ao, "$(P)CRL$(N):slitSize_H"){
     field(OMSL, "closed_loop")
 	field(DTYP, "pydev")
 	field(OUT, "@$(OBJ).updateSlitSize('VAL', 'hor')")
+	field(FLNK, "$(P)CRL$(N):recalc_table.PROC CA")
+}
+
+record(ai, "$(P)CRL$(N):slitSize_H_RBV"){
+  field(DTYP, "pydev")
+  field(INP,  "@pydev.iointr('updated_slitSize_H')")
+  field(SCAN, "I/O Intr")
+  field(PREC, "5")
 }
 
 record(ao, "$(P)CRL$(N):slitSize_V"){
@@ -36,6 +64,32 @@ record(ao, "$(P)CRL$(N):slitSize_V"){
     field(OMSL, "closed_loop")
 	field(DTYP, "pydev")
 	field(OUT, "@$(OBJ).updateSlitSize('VAL', 'vert')")
+	field(FLNK, "$(P)CRL$(N):recalc_table.PROC CA")
+}
+
+record(ai, "$(P)CRL$(N):slitSize_V_RBV"){
+  field(DTYP, "pydev")
+  field(INP,  "@pydev.iointr('updated_slitSize_V')")
+  field(SCAN, "I/O Intr")
+  field(PREC, "5")
+}
+
+# Not sure this would work -- how to get a PV to simply trigger code?
+record(bo, "$(P)CRL$(N):recalc_table"){
+	field(DTYP, "pydev")
+	field(OUT, "@$(OBJ).construct_lookup_table()")
+	field(FLNK, "$(P)CRL$(N):refind_config.PROC CA")
+}
+
+# Not sure this would work -- how to get a PV to simply trigger code?
+record(bo, "$(P)CRL$(N):refind_config"){
+	field(DTYP, "pydev")
+	field(OUT, "@$(OBJ).find_config()")
+}
+
+record(bo, "$(P)CRL$(N):thickerr_flag"){
+	field(DTYP, "pydev")
+	field(OUT, "@$(OBJ).updateThickerrFlag()")
 }
 
 record(longin, "$(P)CRL$(N):lenses") {
@@ -89,8 +143,20 @@ record(ai, "$(P)CRL$(N):fSize_actual"){
   field(PREC, "5")
 }
 
+record(longout, "$(P)CRL$(N):sortedIndex") {
+  field(DTYP, "pydev")
+  field(OUT, "@$(OBJ).updateIndex('VAL')")
+}
+
 record(longin, "$(P)CRL$(N):sortedIndex_RBV") {
   field(DTYP, "pydev")
   field(INP,  "@pydev.iointr('new_index')")
   field(SCAN, "I/O Intr")
 }
+
+record(bo, "$(P)CRL$(N):verbosity"){
+	field(DTYP, "pydev")
+	field(OUT, "@$(OBJ).updateVerbosity('VAL')")
+	field(ZNAM, "Off")
+	field(ONAM, "On")
+}
diff --git a/100idPyApp/op/ui/.loglogin b/100idPyApp/op/ui/.loglogin
new file mode 100644
index 0000000000000000000000000000000000000000..38e9508f612ad84338091e7776b44bc856a01ce0
--- /dev/null
+++ b/100idPyApp/op/ui/.loglogin
@@ -0,0 +1 @@
+08/08/2024 - 05:57:01 - ravioli
diff --git a/100idPyApp/op/ui/pydev_transfocator_12.ui b/100idPyApp/op/ui/pydev_transfocator_12.ui
new file mode 100644
index 0000000000000000000000000000000000000000..7a8e8d9d7b31f91dd884dbf568d65f98d2f491d8
--- /dev/null
+++ b/100idPyApp/op/ui/pydev_transfocator_12.ui
@@ -0,0 +1,2051 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>938</width>
+    <height>639</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <widget class="caFrame" name="caframe_8">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>0</y>
+      <width>931</width>
+      <height>31</height>
+     </rect>
+    </property>
+    <property name="sizePolicy">
+     <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+      <horstretch>0</horstretch>
+      <verstretch>0</verstretch>
+     </sizepolicy>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>941</width>
+      <height>16777215</height>
+     </size>
+    </property>
+    <property name="lineWidth">
+     <number>0</number>
+    </property>
+    <property name="background">
+     <color>
+      <red>0</red>
+      <green>53</green>
+      <blue>132</blue>
+     </color>
+    </property>
+    <property name="backgroundMode">
+     <enum>caFrame::Filled</enum>
+    </property>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>5</number>
+     </property>
+     <property name="leftMargin">
+      <number>10</number>
+     </property>
+     <property name="topMargin">
+      <number>2</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>2</number>
+     </property>
+     <item>
+      <widget class="caLabel" name="calabel">
+       <property name="enabled">
+        <bool>true</bool>
+       </property>
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>941</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <family>Verdana</family>
+         <pointsize>16</pointsize>
+         <weight>75</weight>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="text">
+        <string>Transfocator $(P)$(TF)$(N)</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::Height</enum>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>228</red>
+         <green>228</green>
+         <blue>228</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color alpha="0">
+         <red>160</red>
+         <green>160</green>
+         <blue>164</blue>
+        </color>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="caInclude" name="cainclude">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>300</y>
+      <width>911</width>
+      <height>151</height>
+     </rect>
+    </property>
+    <property name="macro">
+     <string>P=$(P),F=$(F),N=$(N),M=01;P=$(P),F=$(F),N=$(N),M=02;P=$(P),F=$(F),N=$(N),M=03;P=$(P),F=$(F),N=$(N),M=04;P=$(P),F=$(F),N=$(N),M=05;P=$(P),F=$(F),N=$(N),M=06;P=$(P),F=$(F),N=$(N),M=07;P=$(P),F=$(F),N=$(N),M=08;P=$(P),F=$(F),N=$(N),M=09;P=$(P),F=$(F),N=$(N),M=10</string>
+    </property>
+    <property name="filename" stdset="0">
+     <string notr="true">pydev_transfocator_lens.ui</string>
+    </property>
+    <property name="stacking">
+     <enum>caInclude::Column</enum>
+    </property>
+    <property name="numberOfItems" stdset="0">
+     <number>10</number>
+    </property>
+    <property name="adjustSizeToContents" stdset="0">
+     <bool>false</bool>
+    </property>
+    <property name="frameColor">
+     <color alpha="0">
+      <red>200</red>
+      <green>200</green>
+      <blue>200</blue>
+     </color>
+    </property>
+   </widget>
+   <widget class="QWidget" name="verticalLayoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>40</y>
+      <width>521</width>
+      <height>251</height>
+     </rect>
+    </property>
+    <layout class="QVBoxLayout" name="verticalLayout" stretch="2,1,0,1,1,1,1">
+     <property name="spacing">
+      <number>1</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>5</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3" stretch="4,1,10">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <item>
+        <widget class="caChoice" name="caChoice_0">
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):EnergySelect</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>115</red>
+           <green>223</green>
+           <blue>255</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caChoice::Static</enum>
+         </property>
+         <property name="endBit">
+          <number>1</number>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <layout class="QVBoxLayout" name="verticalLayout_2">
+         <property name="margin">
+          <number>5</number>
+         </property>
+         <item>
+          <widget class="caGraphics" name="caRectangle_1">
+           <property name="foreground">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="linestyle" stdset="0">
+            <enum>caGraphics::Solid</enum>
+           </property>
+           <property name="fillstyle" stdset="0">
+            <enum>caGraphics::Filled</enum>
+           </property>
+           <property name="lineColor">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="visibility">
+            <enum>caGraphics::IfZero</enum>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergySelect</string>
+           </property>
+           <property name="form">
+            <enum>caGraphics::Rectangle</enum>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="caGraphics" name="caRectangle_2">
+           <property name="foreground">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="linestyle" stdset="0">
+            <enum>caGraphics::Solid</enum>
+           </property>
+           <property name="fillstyle" stdset="0">
+            <enum>caGraphics::Filled</enum>
+           </property>
+           <property name="lineColor">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="visibility">
+            <enum>caGraphics::IfNotZero</enum>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergySelect</string>
+           </property>
+           <property name="form">
+            <enum>caGraphics::Rectangle</enum>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <layout class="QGridLayout" name="gridLayout_3" columnstretch="3,1,2" rowminimumheight="1,1">
+         <property name="margin">
+          <number>2</number>
+         </property>
+         <property name="spacing">
+          <number>2</number>
+         </property>
+         <item row="1" column="0">
+          <widget class="caTextEntry" name="catextentry_17">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyLocal</string>
+           </property>
+           <property name="background">
+            <color>
+             <red>115</red>
+             <green>223</green>
+             <blue>255</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="precision">
+            <number>3</number>
+           </property>
+          </widget>
+         </item>
+         <item row="1" column="1">
+          <widget class="caLineEdit" name="caLineEdit_19">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>13</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyLocal.EGU</string>
+           </property>
+           <property name="foreground">
+            <color>
+             <red>10</red>
+             <green>0</green>
+             <blue>184</blue>
+            </color>
+           </property>
+           <property name="background">
+            <color>
+             <red>200</red>
+             <green>200</green>
+             <blue>200</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="fontScaleMode" stdset="0">
+            <enum>caLineEdit::None</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1">
+          <widget class="caLineEdit" name="caLineEdit_11">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>13</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyBeamline.EGU</string>
+           </property>
+           <property name="foreground">
+            <color>
+             <red>10</red>
+             <green>0</green>
+             <blue>184</blue>
+            </color>
+           </property>
+           <property name="background">
+            <color>
+             <red>200</red>
+             <green>200</green>
+             <blue>200</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="fontScaleMode" stdset="0">
+            <enum>caLineEdit::None</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="0">
+          <widget class="caLineEdit" name="caLineEdit_16">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>13</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyBeamline</string>
+           </property>
+           <property name="foreground">
+            <color>
+             <red>10</red>
+             <green>0</green>
+             <blue>184</blue>
+            </color>
+           </property>
+           <property name="background">
+            <color>
+             <red>200</red>
+             <green>200</green>
+             <blue>200</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="precision">
+            <number>3</number>
+           </property>
+           <property name="fontScaleMode" stdset="0">
+            <enum>caLineEdit::None</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="2">
+          <spacer name="horizontalSpacer_8">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,5,6,2,4">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="margin">
+        <number>2</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_7">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caLabel" name="calabel_19">
+         <property name="text">
+          <string>Lookup Table Energy</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_13">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):energy_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>3</number>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_10">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):energy.EGU</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_9">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <widget class="Line" name="line_2">
+       <property name="frameShadow">
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="lineWidth">
+        <number>2</number>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_4" stretch="3,2,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="caLabel" name="calabel_21">
+         <property name="text">
+          <string>Attenuation</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caTextEntry" name="catextentry_15">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):attenuation</string>
+         </property>
+         <property name="background">
+          <color>
+           <red>115</red>
+           <green>223</green>
+           <blue>255</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>3</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::compact</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_15">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):attenuation_actual</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>3</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::compact</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_5" stretch="3,2,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="caLabel" name="calabel_28">
+         <property name="text">
+          <string>Atten. Index</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caTextEntry" name="catextentry_16">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):sortedIndex</string>
+         </property>
+         <property name="background">
+          <color>
+           <red>115</red>
+           <green>223</green>
+           <blue>255</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::decimal</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_18">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):sortedIndex_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::decimal</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_6" stretch="5,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_5">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caLabel" name="calabel_30">
+         <property name="text">
+          <string>In Mask</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_20">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):inMask_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>255</red>
+           <green>255</green>
+           <blue>0</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::hexadecimal</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_7" stretch="5,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_6">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caLabel" name="calabel_31">
+         <property name="text">
+          <string>Out Mask</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_21">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):outMask_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>255</red>
+           <green>255</green>
+           <blue>0</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::hexadecimal</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="gridLayoutWidget_2">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>490</y>
+      <width>371</width>
+      <height>81</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_2" rowstretch="1,1" columnstretch="1,1,2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item row="1" column="0">
+      <widget class="caLabel" name="calabel_26">
+       <property name="text">
+        <string>Attenuation</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2">
+      <widget class="caLineEdit" name="caLineEdit_12">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="toolTip">
+        <string extracomment="Attenuation at 2nd harmonic (2E)"/>
+       </property>
+       <property name="statusTip">
+        <string extracomment="Attenuation at 2nd harmonic (2E)"/>
+       </property>
+       <property name="whatsThis">
+        <string extracomment="Attenuation at 2nd harmonic (2E)"/>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_2E_actual</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="precision">
+        <number>5</number>
+       </property>
+       <property name="precisionMode">
+        <enum>caLineEdit::User</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::compact</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="2">
+      <widget class="caLineEdit" name="caLineEdit_14">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_3E_actual</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="precision">
+        <number>5</number>
+       </property>
+       <property name="precisionMode">
+        <enum>caLineEdit::User</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::compact</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0">
+      <widget class="caLabel" name="calabel_25">
+       <property name="text">
+        <string>Harmonic</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="caLabel" name="calabel_22">
+       <property name="text">
+        <string>@ 2E</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="caLabel" name="calabel_23">
+       <property name="text">
+        <string>@ 3E</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="gridLayoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>560</x>
+      <y>70</y>
+      <width>361</width>
+      <height>161</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout" rowstretch="1,0,0,0,0" columnstretch="3,3,1,3">
+     <property name="horizontalSpacing">
+      <number>2</number>
+     </property>
+     <property name="verticalSpacing">
+      <number>0</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <item row="0" column="2">
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="3" column="0">
+      <widget class="caMessageButton" name="caMessageButton_9">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>/2</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>.5</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1">
+      <widget class="caMessageButton" name="caMessageButton_16">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>+10%</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>1.1</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0">
+      <widget class="caMessageButton" name="caMessageButton_2">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>/1000</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>0.001</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0">
+      <widget class="caMessageButton" name="camessagebutton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>DOWN</string>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_twk_dn.PROC</string>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1">
+      <widget class="caMessageButton" name="caMessageButton_14">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>*10</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>10</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="3">
+      <widget class="caMessageButton" name="caMessageButton_7">
+       <property name="text">
+        <string>1e10</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e10</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e10</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="caMessageButton" name="caMessageButton_13">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>*1000</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>1000</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1">
+      <widget class="caMessageButton" name="caMessageButton_15">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>*2</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>2</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="3">
+      <widget class="caMessageButton" name="caMessageButton_5">
+       <property name="text">
+        <string>1e6</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e6</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e6</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="3">
+      <widget class="caMessageButton" name="caMessageButton_4">
+       <property name="text">
+        <string>1e4</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e4</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e4</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="3">
+      <widget class="caMessageButton" name="caMessageButton_3">
+       <property name="text">
+        <string>1e2</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e2</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e2</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
+      <widget class="caMessageButton" name="caMessageButton_8">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>/10</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>0.1</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="3">
+      <widget class="caMessageButton" name="caMessageButton_6">
+       <property name="text">
+        <string>1e8</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e8</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e8</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="caMessageButton" name="camessagebutton_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string> UP </string>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_twk_up.PROC</string>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1</string>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
+      <widget class="caMessageButton" name="caMessageButton_10">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>-10%</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>0.9</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="Line" name="line">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>387</y>
+      <width>901</width>
+      <height>2</height>
+     </rect>
+    </property>
+    <property name="frameShadow">
+     <enum>QFrame::Plain</enum>
+    </property>
+    <property name="lineWidth">
+     <number>2</number>
+    </property>
+    <property name="orientation">
+     <enum>Qt::Horizontal</enum>
+    </property>
+   </widget>
+   <widget class="QWidget" name="gridLayoutWidget_3">
+    <property name="geometry">
+     <rect>
+      <x>560</x>
+      <y>500</y>
+      <width>361</width>
+      <height>80</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_4" rowstretch="1,1" columnstretch="0,2,3">
+     <item row="1" column="1">
+      <widget class="caLabel" name="calabel_27">
+       <property name="text">
+        <string>Attenuation Preview</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2">
+      <widget class="caTextEntry" name="catextentry_14">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):previewIndex</string>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="2">
+      <widget class="caLineEdit" name="caLineEdit_17">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_preview</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="precision">
+        <number>3</number>
+       </property>
+       <property name="precisionMode">
+        <enum>caLineEdit::User</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::compact</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="caLabel" name="calabel_24">
+       <property name="text">
+        <string>Preview Index</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="caRelatedDisplay" name="carelateddisplay_48">
+    <property name="geometry">
+     <rect>
+      <x>800</x>
+      <y>590</y>
+      <width>120</width>
+      <height>29</height>
+     </rect>
+    </property>
+    <property name="label">
+     <string notr="true">-more</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>228</red>
+      <green>228</green>
+      <blue>228</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>53</red>
+      <green>132</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="labels">
+     <string>Alternate UI</string>
+    </property>
+    <property name="files">
+     <string>pydev_filter_12_more.ui</string>
+    </property>
+    <property name="args">
+     <string>P=100idWYM:,F=Filter,N=1</string>
+    </property>
+    <property name="stackingMode" stdset="0">
+     <enum>caRowColMenu::Menu</enum>
+    </property>
+    <property name="removeParent" stdset="0">
+     <string>true</string>
+    </property>
+   </widget>
+   <widget class="caMessageButton" name="camessagebutton_3">
+    <property name="geometry">
+     <rect>
+      <x>850</x>
+      <y>470</y>
+      <width>78</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="sizePolicy">
+     <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+      <horstretch>0</horstretch>
+      <verstretch>0</verstretch>
+     </sizepolicy>
+    </property>
+    <property name="text">
+     <string>SYNC</string>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(F)$(N):filter_encode.PROC</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>228</red>
+      <green>228</green>
+      <blue>228</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>53</red>
+      <green>132</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="pressMessage">
+     <string notr="true">1</string>
+    </property>
+   </widget>
+   <widget class="caLabel" name="calabel_29">
+    <property name="geometry">
+     <rect>
+      <x>590</x>
+      <y>44</y>
+      <width>301</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="font">
+     <font>
+      <pointsize>12</pointsize>
+     </font>
+    </property>
+    <property name="text">
+     <string>Attenuation Quick Adjustments</string>
+    </property>
+    <property name="alignment">
+     <set>Qt::AlignCenter</set>
+    </property>
+    <property name="fontScaleMode">
+     <enum>ESimpleLabel::WidthAndHeight</enum>
+    </property>
+   </widget>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>caChoice</class>
+   <extends>QWidget</extends>
+   <header>caChoice</header>
+  </customwidget>
+  <customwidget>
+   <class>caRelatedDisplay</class>
+   <extends>QWidget</extends>
+   <header>caRelatedDisplay</header>
+  </customwidget>
+  <customwidget>
+   <class>caTextEntry</class>
+   <extends>caLineEdit</extends>
+   <header>caTextEntry</header>
+  </customwidget>
+  <customwidget>
+   <class>caMessageButton</class>
+   <extends>QPushButton</extends>
+   <header>caMessageButton</header>
+  </customwidget>
+  <customwidget>
+   <class>caFrame</class>
+   <extends>QFrame</extends>
+   <header>caFrame</header>
+   <container>1</container>
+  </customwidget>
+  <customwidget>
+   <class>caLabel</class>
+   <extends>QLabel</extends>
+   <header>caLabel</header>
+  </customwidget>
+  <customwidget>
+   <class>caGraphics</class>
+   <extends>QWidget</extends>
+   <header>caGraphics</header>
+  </customwidget>
+  <customwidget>
+   <class>caInclude</class>
+   <extends>QWidget</extends>
+   <header>caInclude</header>
+  </customwidget>
+  <customwidget>
+   <class>caLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header>caLineEdit</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/100idPyApp/op/ui/pydev_transfocator_12_more.ui b/100idPyApp/op/ui/pydev_transfocator_12_more.ui
new file mode 100644
index 0000000000000000000000000000000000000000..6c441d6e1b2de387aadb407f1e0fa5bcf9464427
--- /dev/null
+++ b/100idPyApp/op/ui/pydev_transfocator_12_more.ui
@@ -0,0 +1,2271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1071</width>
+    <height>681</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <widget class="caFrame" name="caframe_8">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>0</y>
+      <width>1071</width>
+      <height>31</height>
+     </rect>
+    </property>
+    <property name="sizePolicy">
+     <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+      <horstretch>0</horstretch>
+      <verstretch>0</verstretch>
+     </sizepolicy>
+    </property>
+    <property name="maximumSize">
+     <size>
+      <width>1071</width>
+      <height>16777215</height>
+     </size>
+    </property>
+    <property name="lineWidth">
+     <number>0</number>
+    </property>
+    <property name="background">
+     <color>
+      <red>0</red>
+      <green>53</green>
+      <blue>132</blue>
+     </color>
+    </property>
+    <property name="backgroundMode">
+     <enum>caFrame::Filled</enum>
+    </property>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>5</number>
+     </property>
+     <property name="leftMargin">
+      <number>10</number>
+     </property>
+     <property name="topMargin">
+      <number>2</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>2</number>
+     </property>
+     <item>
+      <widget class="caLabel" name="calabel">
+       <property name="enabled">
+        <bool>true</bool>
+       </property>
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>1071</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="font">
+        <font>
+         <family>Verdana</family>
+         <pointsize>16</pointsize>
+         <weight>75</weight>
+         <bold>true</bold>
+        </font>
+       </property>
+       <property name="text">
+        <string>Transfocator $(P)$(TF)$(N)</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::Height</enum>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>228</red>
+         <green>228</green>
+         <blue>228</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color alpha="0">
+         <red>160</red>
+         <green>160</green>
+         <blue>164</blue>
+        </color>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="gridLayoutWidget_2">
+    <property name="geometry">
+     <rect>
+      <x>30</x>
+      <y>510</y>
+      <width>371</width>
+      <height>81</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_2" rowstretch="1,1" columnstretch="1,1,2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item row="0" column="2">
+      <widget class="caLineEdit" name="caLineEdit_12">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_2E_actual</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="precision">
+        <number>5</number>
+       </property>
+       <property name="precisionMode">
+        <enum>caLineEdit::User</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::compact</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="caLabel" name="calabel_23">
+       <property name="text">
+        <string>3E</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="2">
+      <widget class="caLineEdit" name="caLineEdit_14">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_3E_actual</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="precision">
+        <number>5</number>
+       </property>
+       <property name="precisionMode">
+        <enum>caLineEdit::User</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::compact</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="caLabel" name="calabel_22">
+       <property name="text">
+        <string>2E</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0">
+      <widget class="caLabel" name="calabel_26">
+       <property name="text">
+        <string>Attenuation</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0">
+      <widget class="caLabel" name="calabel_25">
+       <property name="text">
+        <string>Harmonic</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="gridLayoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>540</x>
+      <y>40</y>
+      <width>521</width>
+      <height>191</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout" rowstretch="1,1,1,1,1" columnstretch="3,2,0,2,2,0,2">
+     <property name="horizontalSpacing">
+      <number>2</number>
+     </property>
+     <property name="verticalSpacing">
+      <number>0</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <item row="0" column="5">
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="3" column="3">
+      <widget class="caMessageButton" name="caMessageButton_9">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>/2</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>.5</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="4">
+      <widget class="caMessageButton" name="caMessageButton_16">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>+10%</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>1.1</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="3">
+      <widget class="caMessageButton" name="caMessageButton_2">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>/1000</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>0.001</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="4">
+      <widget class="caMessageButton" name="caMessageButton_14">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>*10</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>10</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="6">
+      <widget class="caMessageButton" name="caMessageButton_7">
+       <property name="text">
+        <string>1e10</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e10</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e10</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="4">
+      <widget class="caMessageButton" name="caMessageButton_13">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>*1000</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>1000</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1">
+      <widget class="caLineEdit" name="caLineEdit_16">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):filterConfig_RBV</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1">
+      <widget class="caLineEdit" name="caLineEdit_11">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):filterConfig</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::decimal</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="4">
+      <widget class="caMessageButton" name="caMessageButton_15">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>*2</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>2</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="6">
+      <widget class="caMessageButton" name="caMessageButton_5">
+       <property name="text">
+        <string>1e6</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e6</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e6</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
+      <widget class="caLabel" name="calabel_20">
+       <property name="text">
+        <string>12-bit</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="6">
+      <widget class="caMessageButton" name="caMessageButton_4">
+       <property name="text">
+        <string>1e4</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e4</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e4</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="6">
+      <widget class="caMessageButton" name="caMessageButton_3">
+       <property name="text">
+        <string>1e2</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e2</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e2</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="3">
+      <widget class="caMessageButton" name="caMessageButton_8">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>/10</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>0.1</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
+      <widget class="caLabel" name="calabel_24">
+       <property name="font">
+        <font>
+         <pointsize>11</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string>Readbacks</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="6">
+      <widget class="caMessageButton" name="caMessageButton_6">
+       <property name="text">
+        <string>1e8</string>
+       </property>
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation</string>
+       </property>
+       <property name="label">
+        <string notr="true">1e8</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1.0e8</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2">
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="4" column="3">
+      <widget class="caMessageButton" name="caMessageButton_10">
+       <property name="fontScaleMode">
+        <enum>EPushButton::WidthAndHeight</enum>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenFactor</string>
+       </property>
+       <property name="label">
+        <string>-10%</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string>0.9</string>
+       </property>
+       <property name="colorMode">
+        <enum>caMessageButton::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1">
+      <widget class="caLineEdit" name="caLineEdit_17">
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):filterConfig_BW</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0">
+      <widget class="caLabel" name="calabel_27">
+       <property name="font">
+        <font>
+         <pointsize>10</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string>Ind. Control</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="3">
+      <widget class="caMessageButton" name="camessagebutton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>DOWN</string>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_twk_dn.PROC</string>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1</string>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="4">
+      <widget class="caMessageButton" name="camessagebutton_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string> UP </string>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_twk_up.PROC</string>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="pressMessage">
+        <string notr="true">1</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="caLabel" name="calabel_32">
+       <property name="text">
+        <string>Unsorted Indices</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="gridLayoutWidget_3">
+    <property name="geometry">
+     <rect>
+      <x>690</x>
+      <y>510</y>
+      <width>361</width>
+      <height>80</height>
+     </rect>
+    </property>
+    <layout class="QGridLayout" name="gridLayout_4" rowstretch="1,1" columnstretch="0,2,3">
+     <item row="1" column="1">
+      <widget class="caLabel" name="calabel_29">
+       <property name="text">
+        <string>Attenuation Preview</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2">
+      <widget class="caTextEntry" name="catextentry_14">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):previewIndex</string>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="2">
+      <widget class="caLineEdit" name="caLineEdit_19">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="font">
+        <font>
+         <pointsize>13</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):attenuation_preview</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>10</red>
+         <green>0</green>
+         <blue>184</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caLineEdit::Static</enum>
+       </property>
+       <property name="precision">
+        <number>3</number>
+       </property>
+       <property name="precisionMode">
+        <enum>caLineEdit::User</enum>
+       </property>
+       <property name="fontScaleMode" stdset="0">
+        <enum>caLineEdit::None</enum>
+       </property>
+       <property name="formatType">
+        <enum>caLineEdit::compact</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="caLabel" name="calabel_30">
+       <property name="text">
+        <string>Preview Index</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+   <widget class="caRelatedDisplay" name="carelateddisplay_48">
+    <property name="geometry">
+     <rect>
+      <x>930</x>
+      <y>600</y>
+      <width>120</width>
+      <height>29</height>
+     </rect>
+    </property>
+    <property name="label">
+     <string notr="true">-less</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>228</red>
+      <green>228</green>
+      <blue>228</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>53</red>
+      <green>132</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="labels">
+     <string>Alternate UI</string>
+    </property>
+    <property name="files">
+     <string>pydev_filter_12.ui</string>
+    </property>
+    <property name="args">
+     <string>P=100idWYM:,F=Filter,N=1</string>
+    </property>
+    <property name="stackingMode" stdset="0">
+     <enum>caRowColMenu::Menu</enum>
+    </property>
+    <property name="removeParent" stdset="0">
+     <string>true</string>
+    </property>
+   </widget>
+   <widget class="caMessageButton" name="camessagebutton_3">
+    <property name="geometry">
+     <rect>
+      <x>970</x>
+      <y>470</y>
+      <width>78</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="sizePolicy">
+     <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+      <horstretch>0</horstretch>
+      <verstretch>0</verstretch>
+     </sizepolicy>
+    </property>
+    <property name="text">
+     <string>SYNC</string>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(F)$(N):filter_encode.PROC</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>228</red>
+      <green>228</green>
+      <blue>228</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>53</red>
+      <green>132</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="pressMessage">
+     <string notr="true">1</string>
+    </property>
+   </widget>
+   <widget class="caInclude" name="cainclude">
+    <property name="geometry">
+     <rect>
+      <x>11</x>
+      <y>304</y>
+      <width>1128</width>
+      <height>151</height>
+     </rect>
+    </property>
+    <property name="macro">
+     <string>P=$(P),F=$(F),N=$(N),M=01;P=$(P),F=$(F),N=$(N),M=02;P=$(P),F=$(F),N=$(N),M=03;P=$(P),F=$(F),N=$(N),M=04;P=$(P),F=$(F),N=$(N),M=05;P=$(P),F=$(F),N=$(N),M=06;P=$(P),F=$(F),N=$(N),M=07;P=$(P),F=$(F),N=$(N),M=08;P=$(P),F=$(F),N=$(N),M=09;P=$(P),F=$(F),N=$(N),M=10</string>
+    </property>
+    <property name="filename" stdset="0">
+     <string notr="true">pydev_transfocator_lens.ui</string>
+    </property>
+    <property name="stacking">
+     <enum>caInclude::Column</enum>
+    </property>
+    <property name="numberOfItems" stdset="0">
+     <number>10</number>
+    </property>
+    <property name="adjustSizeToContents" stdset="0">
+     <bool>false</bool>
+    </property>
+    <property name="frameColor">
+     <color alpha="0">
+      <red>200</red>
+      <green>200</green>
+      <blue>200</blue>
+     </color>
+    </property>
+   </widget>
+   <widget class="Line" name="line">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>391</y>
+      <width>1041</width>
+      <height>2</height>
+     </rect>
+    </property>
+    <property name="frameShadow">
+     <enum>QFrame::Plain</enum>
+    </property>
+    <property name="lineWidth">
+     <number>2</number>
+    </property>
+    <property name="orientation">
+     <enum>Qt::Horizontal</enum>
+    </property>
+   </widget>
+   <widget class="QWidget" name="verticalLayoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>40</y>
+      <width>521</width>
+      <height>251</height>
+     </rect>
+    </property>
+    <layout class="QVBoxLayout" name="verticalLayout" stretch="2,1,0,1,1,1,1">
+     <property name="spacing">
+      <number>1</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>5</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3" stretch="4,1,10">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <item>
+        <widget class="caChoice" name="caChoice_0">
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):EnergySelect</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>115</red>
+           <green>223</green>
+           <blue>255</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caChoice::Static</enum>
+         </property>
+         <property name="endBit">
+          <number>1</number>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <layout class="QVBoxLayout" name="verticalLayout_2">
+         <property name="margin">
+          <number>5</number>
+         </property>
+         <item>
+          <widget class="caGraphics" name="caRectangle_1">
+           <property name="foreground">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="linestyle" stdset="0">
+            <enum>caGraphics::Solid</enum>
+           </property>
+           <property name="fillstyle" stdset="0">
+            <enum>caGraphics::Filled</enum>
+           </property>
+           <property name="lineColor">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="visibility">
+            <enum>caGraphics::IfZero</enum>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergySelect</string>
+           </property>
+           <property name="form">
+            <enum>caGraphics::Rectangle</enum>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="caGraphics" name="caRectangle_2">
+           <property name="foreground">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="linestyle" stdset="0">
+            <enum>caGraphics::Solid</enum>
+           </property>
+           <property name="fillstyle" stdset="0">
+            <enum>caGraphics::Filled</enum>
+           </property>
+           <property name="lineColor">
+            <color>
+             <red>0</red>
+             <green>216</green>
+             <blue>0</blue>
+            </color>
+           </property>
+           <property name="visibility">
+            <enum>caGraphics::IfNotZero</enum>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergySelect</string>
+           </property>
+           <property name="form">
+            <enum>caGraphics::Rectangle</enum>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <layout class="QGridLayout" name="gridLayout_3" columnstretch="3,1,2" rowminimumheight="1,1">
+         <property name="margin">
+          <number>2</number>
+         </property>
+         <property name="spacing">
+          <number>2</number>
+         </property>
+         <item row="1" column="0">
+          <widget class="caTextEntry" name="catextentry_17">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyLocal</string>
+           </property>
+           <property name="background">
+            <color>
+             <red>115</red>
+             <green>223</green>
+             <blue>255</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="precision">
+            <number>3</number>
+           </property>
+          </widget>
+         </item>
+         <item row="1" column="1">
+          <widget class="caLineEdit" name="caLineEdit_20">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>13</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyLocal.EGU</string>
+           </property>
+           <property name="foreground">
+            <color>
+             <red>10</red>
+             <green>0</green>
+             <blue>184</blue>
+            </color>
+           </property>
+           <property name="background">
+            <color>
+             <red>200</red>
+             <green>200</green>
+             <blue>200</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="fontScaleMode" stdset="0">
+            <enum>caLineEdit::None</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1">
+          <widget class="caLineEdit" name="caLineEdit_13">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>13</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyBeamline.EGU</string>
+           </property>
+           <property name="foreground">
+            <color>
+             <red>10</red>
+             <green>0</green>
+             <blue>184</blue>
+            </color>
+           </property>
+           <property name="background">
+            <color>
+             <red>200</red>
+             <green>200</green>
+             <blue>200</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="fontScaleMode" stdset="0">
+            <enum>caLineEdit::None</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="0">
+          <widget class="caLineEdit" name="caLineEdit_18">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="font">
+            <font>
+             <pointsize>13</pointsize>
+            </font>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </property>
+           <property name="channel" stdset="0">
+            <string notr="true">$(P)$(F)$(N):EnergyBeamline</string>
+           </property>
+           <property name="foreground">
+            <color>
+             <red>10</red>
+             <green>0</green>
+             <blue>184</blue>
+            </color>
+           </property>
+           <property name="background">
+            <color>
+             <red>200</red>
+             <green>200</green>
+             <blue>200</blue>
+            </color>
+           </property>
+           <property name="colorMode">
+            <enum>caLineEdit::Static</enum>
+           </property>
+           <property name="precision">
+            <number>3</number>
+           </property>
+           <property name="fontScaleMode" stdset="0">
+            <enum>caLineEdit::None</enum>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="2">
+          <spacer name="horizontalSpacer_8">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,5,6,2,4">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="margin">
+        <number>2</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_7">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caLabel" name="calabel_19">
+         <property name="text">
+          <string>Lookup Table Energy</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_15">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):energy_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>3</number>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_10">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):energy.EGU</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_9">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <widget class="Line" name="line_2">
+       <property name="frameShadow">
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="lineWidth">
+        <number>2</number>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_4" stretch="3,2,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="caLabel" name="calabel_21">
+         <property name="text">
+          <string>Attenuation</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caTextEntry" name="catextentry_15">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):attenuation</string>
+         </property>
+         <property name="background">
+          <color>
+           <red>115</red>
+           <green>223</green>
+           <blue>255</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>3</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::compact</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_21">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):attenuation_actual</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>3</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::compact</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_5" stretch="3,2,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="caLabel" name="calabel_28">
+         <property name="text">
+          <string>Atten. Index</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caTextEntry" name="catextentry_16">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):sortedIndex</string>
+         </property>
+         <property name="background">
+          <color>
+           <red>115</red>
+           <green>223</green>
+           <blue>255</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::decimal</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_22">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):sortedIndex_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>10</red>
+           <green>0</green>
+           <blue>184</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::decimal</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_6" stretch="5,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_5">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caLabel" name="calabel_31">
+         <property name="text">
+          <string>In Mask</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_23">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):inMask_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>255</red>
+           <green>255</green>
+           <blue>0</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::hexadecimal</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_7" stretch="5,3,3">
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_6">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="caLabel" name="calabel_33">
+         <property name="text">
+          <string>Out Mask</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="fontScaleMode">
+          <enum>ESimpleLabel::WidthAndHeight</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="caLineEdit" name="caLineEdit_24">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="font">
+          <font>
+           <pointsize>13</pointsize>
+          </font>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+         <property name="channel" stdset="0">
+          <string notr="true">$(P)$(F)$(N):outMask_RBV</string>
+         </property>
+         <property name="foreground">
+          <color>
+           <red>255</red>
+           <green>255</green>
+           <blue>0</blue>
+          </color>
+         </property>
+         <property name="background">
+          <color>
+           <red>200</red>
+           <green>200</green>
+           <blue>200</blue>
+          </color>
+         </property>
+         <property name="colorMode">
+          <enum>caLineEdit::Static</enum>
+         </property>
+         <property name="precision">
+          <number>0</number>
+         </property>
+         <property name="precisionMode">
+          <enum>caLineEdit::User</enum>
+         </property>
+         <property name="fontScaleMode" stdset="0">
+          <enum>caLineEdit::None</enum>
+         </property>
+         <property name="formatType">
+          <enum>caLineEdit::hexadecimal</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </widget>
+   <widget class="QWidget" name="horizontalLayoutWidget">
+    <property name="geometry">
+     <rect>
+      <x>730</x>
+      <y>260</y>
+      <width>331</width>
+      <height>31</height>
+     </rect>
+    </property>
+    <layout class="QHBoxLayout" name="horizontalLayout_8" stretch="4,3">
+     <item>
+      <widget class="caLabel" name="calabel_34">
+       <property name="text">
+        <string>Verbose Console?</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="fontScaleMode">
+        <enum>ESimpleLabel::WidthAndHeight</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="caChoice" name="caChoice_1">
+       <property name="channel" stdset="0">
+        <string notr="true">$(P)$(F)$(N):verbosity</string>
+       </property>
+       <property name="foreground">
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+       </property>
+       <property name="background">
+        <color>
+         <red>115</red>
+         <green>223</green>
+         <blue>255</blue>
+        </color>
+       </property>
+       <property name="colorMode">
+        <enum>caChoice::Static</enum>
+       </property>
+       <property name="stackingMode" stdset="0">
+        <enum>caChoice::Column</enum>
+       </property>
+       <property name="endBit">
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </widget>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>caChoice</class>
+   <extends>QWidget</extends>
+   <header>caChoice</header>
+  </customwidget>
+  <customwidget>
+   <class>caRelatedDisplay</class>
+   <extends>QWidget</extends>
+   <header>caRelatedDisplay</header>
+  </customwidget>
+  <customwidget>
+   <class>caTextEntry</class>
+   <extends>caLineEdit</extends>
+   <header>caTextEntry</header>
+  </customwidget>
+  <customwidget>
+   <class>caMessageButton</class>
+   <extends>QPushButton</extends>
+   <header>caMessageButton</header>
+  </customwidget>
+  <customwidget>
+   <class>caFrame</class>
+   <extends>QFrame</extends>
+   <header>caFrame</header>
+   <container>1</container>
+  </customwidget>
+  <customwidget>
+   <class>caLabel</class>
+   <extends>QLabel</extends>
+   <header>caLabel</header>
+  </customwidget>
+  <customwidget>
+   <class>caGraphics</class>
+   <extends>QWidget</extends>
+   <header>caGraphics</header>
+  </customwidget>
+  <customwidget>
+   <class>caInclude</class>
+   <extends>QWidget</extends>
+   <header>caInclude</header>
+  </customwidget>
+  <customwidget>
+   <class>caLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header>caLineEdit</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/100idPyApp/op/ui/pydev_transfocator_lens.ui b/100idPyApp/op/ui/pydev_transfocator_lens.ui
new file mode 100644
index 0000000000000000000000000000000000000000..dcf84dd407382c6c1cc54296051635a4fb0dea92
--- /dev/null
+++ b/100idPyApp/op/ui/pydev_transfocator_lens.ui
@@ -0,0 +1,592 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>78</width>
+    <height>155</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="styleSheet">
+   <string>
+
+QWidget#centralWidget {background: rgba(200, 200, 200, 255);}
+
+caTable {
+       font: 10pt;
+       background: cornsilk;
+       alternate-background-color: wheat;
+}
+
+caLineEdit {
+     border-radius: 1px;
+     background: lightyellow;
+     color: black;
+ }
+
+caTextEntry {
+    color: rgb(127, 0, 63);
+    background-color: cornsilk;
+    selection-color: #0a214c;
+    selection-background-color: wheat;
+    border: 1px groove black;
+    border-radius: 1px;
+    padding: 1px;
+}
+
+caTextEntry:focus {
+    padding: 0px;
+    border: 2px groove darkred;
+    border-radius: 1px;
+}
+
+QPushButton {
+      border-color: #00b;
+      border-radius: 2px;
+      padding: 3px;
+      border-width: 1px;
+
+	background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
+						   stop:0   rgba(224, 239, 255, 255),
+						   stop:0.5 rgba(199, 215, 230, 255),
+						   stop:1   rgba(184, 214, 236, 255));
+}
+QPushButton:hover {
+	background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
+						stop:0   rgba(201, 226, 255, 255),
+						stop:0.5 rgba(177, 204, 230, 255),
+						stop:1   rgba(163, 205, 236, 255));
+}
+QPushButton:pressed {
+	background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
+						stop:0   rgba(174, 219, 255, 255),
+						stop:0.5 rgba(165, 199, 230, 255),
+						stop:1   rgba(134, 188, 236, 255));
+}
+
+QPushButton:disabled {
+	background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
+						stop:0   rgba(174, 219, 255, 255),
+						stop:0.5 rgba(165, 199, 230, 255),
+						stop:1   rgba(134, 188, 236, 255));
+}
+
+caChoice {
+      background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+                                  stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,
+                                  stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);
+}
+
+caChoice &gt; QPushButton {
+      text-align: left;
+      padding: 1px;
+}
+
+caSlider::groove:horizontal {
+border: 1px solid #bbb;
+background: lightgrey;
+height: 20px;
+border-radius: 4px;
+}
+
+caSlider::handle:horizontal {
+background: red;
+border: 1px solid #777;
+width: 13px;
+margin-top: -2px;
+margin-bottom: -2px;
+border-radius: 2px;
+}
+
+
+
+</string>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <property name="sizePolicy">
+    <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Button">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+      <colorrole role="Window">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Button">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+      <colorrole role="Window">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Button">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+      <colorrole role="Window">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>200</red>
+         <green>200</green>
+         <blue>200</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+   <property name="autoFillBackground">
+    <bool>false</bool>
+   </property>
+   <widget class="caFrame" name="caFrame_0">
+    <property name="geometry">
+     <rect>
+      <x>12</x>
+      <y>30</y>
+      <width>16</width>
+      <height>16</height>
+     </rect>
+    </property>
+    <property name="visibility">
+     <enum>caFrame::IfNotZero</enum>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(F)$(N):filter$(M)_Lock</string>
+    </property>
+    <widget class="caMessageButton" name="caMessageButton_0">
+     <property name="geometry">
+      <rect>
+       <x>0</x>
+       <y>0</y>
+       <width>14</width>
+       <height>14</height>
+      </rect>
+     </property>
+     <property name="fontScaleMode">
+      <enum>EPushButton::WidthAndHeight</enum>
+     </property>
+     <property name="channel" stdset="0">
+      <string notr="true">$(P)$(F)$(N):filter$(M)_Lock</string>
+     </property>
+     <property name="label">
+      <string>L</string>
+     </property>
+     <property name="foreground">
+      <color>
+       <red>0</red>
+       <green>0</green>
+       <blue>0</blue>
+      </color>
+     </property>
+     <property name="background">
+      <color>
+       <red>222</red>
+       <green>19</green>
+       <blue>9</blue>
+      </color>
+     </property>
+     <property name="pressMessage">
+      <string>0</string>
+     </property>
+     <property name="colorMode">
+      <enum>caMessageButton::Static</enum>
+     </property>
+    </widget>
+   </widget>
+   <widget class="caLabel" name="caLabel_0">
+    <property name="geometry">
+     <rect>
+      <x>11</x>
+      <y>46</y>
+      <width>20</width>
+      <height>20</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>$(M)</string>
+    </property>
+    <property name="alignment">
+     <set>Qt::AlignAbsolute|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignVCenter</set>
+    </property>
+    <property name="fontScaleMode">
+     <enum>ESimpleLabel::WidthAndHeight</enum>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>0</red>
+      <green>0</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color alpha="0">
+      <red>0</red>
+      <green>0</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="frameShape">
+     <enum>QFrame::NoFrame</enum>
+    </property>
+   </widget>
+   <widget class="caGraphics" name="caRectangle_0">
+    <property name="geometry">
+     <rect>
+      <x>17</x>
+      <y>79</y>
+      <width>8</width>
+      <height>16</height>
+     </rect>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>0</red>
+      <green>216</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="linestyle" stdset="0">
+     <enum>caGraphics::Solid</enum>
+    </property>
+    <property name="fillstyle" stdset="0">
+     <enum>caGraphics::Filled</enum>
+    </property>
+    <property name="lineColor">
+     <color>
+      <red>0</red>
+      <green>216</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="visibility">
+     <enum>caGraphics::IfNotZero</enum>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(TF)$(N):stack$(M)_RBV</string>
+    </property>
+    <property name="form">
+     <enum>caGraphics::Rectangle</enum>
+    </property>
+   </widget>
+   <widget class="caChoice" name="caChoice_0">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>100</y>
+      <width>40</width>
+      <height>28</height>
+     </rect>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(TF)$(N):stack$(M)</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>0</red>
+      <green>0</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>115</red>
+      <green>223</green>
+      <blue>255</blue>
+     </color>
+    </property>
+    <property name="colorMode">
+     <enum>caChoice::Static</enum>
+    </property>
+    <property name="endBit">
+     <number>1</number>
+    </property>
+   </widget>
+   <widget class="caFrame" name="caFrame_1">
+    <property name="geometry">
+     <rect>
+      <x>12</x>
+      <y>30</y>
+      <width>16</width>
+      <height>16</height>
+     </rect>
+    </property>
+    <property name="visibility">
+     <enum>caFrame::IfZero</enum>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(F)$(N):filter$(M)_Lock</string>
+    </property>
+    <widget class="caMessageButton" name="caMessageButton_1">
+     <property name="geometry">
+      <rect>
+       <x>0</x>
+       <y>0</y>
+       <width>14</width>
+       <height>14</height>
+      </rect>
+     </property>
+     <property name="fontScaleMode">
+      <enum>EPushButton::WidthAndHeight</enum>
+     </property>
+     <property name="channel" stdset="0">
+      <string notr="true">$(P)$(TF)$(N):stack$(M)_Lock</string>
+     </property>
+     <property name="label">
+      <string>F</string>
+     </property>
+     <property name="foreground">
+      <color>
+       <red>0</red>
+       <green>0</green>
+       <blue>0</blue>
+      </color>
+     </property>
+     <property name="background">
+      <color>
+       <red>0</red>
+       <green>216</green>
+       <blue>0</blue>
+      </color>
+     </property>
+     <property name="pressMessage">
+      <string>1</string>
+     </property>
+     <property name="colorMode">
+      <enum>caMessageButton::Static</enum>
+     </property>
+    </widget>
+   </widget>
+   <widget class="caGraphics" name="caRectangle_1">
+    <property name="geometry">
+     <rect>
+      <x>17</x>
+      <y>63</y>
+      <width>8</width>
+      <height>16</height>
+     </rect>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>253</red>
+      <green>0</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="linestyle" stdset="0">
+     <enum>caGraphics::Solid</enum>
+    </property>
+    <property name="fillstyle" stdset="0">
+     <enum>caGraphics::Filled</enum>
+    </property>
+    <property name="lineColor">
+     <color>
+      <red>253</red>
+      <green>0</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="visibility">
+     <enum>caGraphics::IfZero</enum>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(TF)$(N):stack$(M)_RBV</string>
+    </property>
+    <property name="form">
+     <enum>caGraphics::Rectangle</enum>
+    </property>
+   </widget>
+   <widget class="caChoice" name="caChoice_1">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>0</y>
+      <width>40</width>
+      <height>28</height>
+     </rect>
+    </property>
+    <property name="channel" stdset="0">
+     <string notr="true">$(P)$(TF)$(N):stack$(M)_Enable</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>0</red>
+      <green>0</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>115</red>
+      <green>223</green>
+      <blue>255</blue>
+     </color>
+    </property>
+    <property name="colorMode">
+     <enum>caChoice::Static</enum>
+    </property>
+    <property name="endBit">
+     <number>1</number>
+    </property>
+   </widget>
+   <widget class="caRelatedDisplay" name="carelateddisplay_48">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>130</y>
+      <width>41</width>
+      <height>21</height>
+     </rect>
+    </property>
+    <property name="label">
+     <string notr="true">-info</string>
+    </property>
+    <property name="foreground">
+     <color>
+      <red>228</red>
+      <green>228</green>
+      <blue>228</blue>
+     </color>
+    </property>
+    <property name="background">
+     <color>
+      <red>53</red>
+      <green>132</green>
+      <blue>0</blue>
+     </color>
+    </property>
+    <property name="labels">
+     <string>Alternate UI</string>
+    </property>
+    <property name="files">
+     <string>pydev_filter_12.ui</string>
+    </property>
+    <property name="args">
+     <string>P=100idWYM:,F=Filter,N=1</string>
+    </property>
+    <property name="stackingMode" stdset="0">
+     <enum>caRowColMenu::Menu</enum>
+    </property>
+    <property name="removeParent" stdset="0">
+     <string>true</string>
+    </property>
+   </widget>
+   <zorder>caLabel_0</zorder>
+   <zorder>caRectangle_0</zorder>
+   <zorder>caRectangle_1</zorder>
+   <zorder>caChoice_0</zorder>
+   <zorder>caChoice_1</zorder>
+   <zorder>caFrame_0</zorder>
+   <zorder>caFrame_1</zorder>
+   <zorder>carelateddisplay_48</zorder>
+  </widget>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>caChoice</class>
+   <extends>QWidget</extends>
+   <header>caChoice</header>
+  </customwidget>
+  <customwidget>
+   <class>caRelatedDisplay</class>
+   <extends>QWidget</extends>
+   <header>caRelatedDisplay</header>
+  </customwidget>
+  <customwidget>
+   <class>caMessageButton</class>
+   <extends>QPushButton</extends>
+   <header>caMessageButton</header>
+  </customwidget>
+  <customwidget>
+   <class>caFrame</class>
+   <extends>QFrame</extends>
+   <header>caFrame</header>
+   <container>1</container>
+  </customwidget>
+  <customwidget>
+   <class>caLabel</class>
+   <extends>QLabel</extends>
+   <header>caLabel</header>
+  </customwidget>
+  <customwidget>
+   <class>caGraphics</class>
+   <extends>QWidget</extends>
+   <header>caGraphics</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/100idPyApp/python/pyTransfocator_single.py b/100idPyApp/python/pyTransfocator_single.py
index 54fa8959cdfb24e952956e5865cab601bf0f1f2f..32c26b6f1a2659a2bc87c4e1bb69d226fa8f513b 100644
--- a/100idPyApp/python/pyTransfocator_single.py
+++ b/100idPyApp/python/pyTransfocator_single.py
@@ -2,7 +2,7 @@ import numpy as np
 import tomllib
 from scipy.optimize import root_scalar
 import xraylib
-from transfocator_calcs import lookup_diameter, materials_to_deltas, materials_to_linear_attenuatio, calc_lookup_tablen
+from transfocator_calcs import lookup_diameter, materials_to_deltas, materials_to_linear_attenuatio, calc_lookup_table
 
 MAT_MACRO = 'MAT'
 NLENS_MACRO = 'NUMLENS'
@@ -14,23 +14,23 @@ THICKERR_MACRO = 'THICKERR'
 Config variables
 
 Beam Properties
-		energy 		: energy in keV
-		L_und		: undulator length in m
-		sigmaH_e	: Sigma electron source size in H direction in m
-		sigmaV_e 	: Sigma electron source size in V direction in m
-		sigmaHp		: Sigma electron divergence in H direction in rad
-		sigmaVp_e	: Sigma electron divergence in V direction in rad
+        energy      : energy in keV
+        L_und       : undulator length in m
+        sigmaH_e    : Sigma electron source size in H direction in m
+        sigmaV_e    : Sigma electron source size in V direction in m
+        sigmaHp     : Sigma electron divergence in H direction in rad
+        sigmaVp_e   : Sigma electron divergence in V direction in rad
 Beamline properties
-		d_StoL1 : Source-to-CRL1 distance, in m
-		d_Stof  : Source-to-focus distance, in m
+        d_StoL1 : Source-to-CRL1 distance, in m
+        d_Stof  : Source-to-focus distance, in m
 CRL properties
-		d_min   : Minimum thickness at the apex in m
-		stack_d : Stack thickness in m
+        d_min   : Minimum thickness at the apex in m
+        stack_d : Stack thickness in m
 '''
-DEFAULT_CONFIG = {'beam':{'energy': 15,	'L_und': 4.7, 'sigmaH_e': 14.8e-6,
+DEFAULT_CONFIG = {'beam':{'energy': 15, 'L_und': 4.7, 'sigmaH_e': 14.8e-6,
                           'sigmaV_e': 3.7e-6, 'sigmaHp_e': 2.8e-6, 'sigmaVp_e': 1.5e-6},
-				  'beam_line': {'d_StoL': 51.9, 'd_Stof': 66.2},
-				  'crl':{'stack_d': 50.0e-3, 'd_min': 3.0e-5}}
+                  'beam_line': {'d_StoL': 51.9, 'd_Stof': 66.2},
+                  'crl':{'stack_d': 50.0e-3, 'd_min': 3.0e-5}}
 """
 pyDevice TO DO: 
 
@@ -40,12 +40,12 @@ WHAT inputs change the search through the arrays? desired focal size, what else?
 IOC init functions
 -get lens stack parameters (# of lenses in each stack, radius, location, thickness, thickness error) -- from substitution file but put into PVs? Update with autosave?
 -get source info
-	-energy from from ID IOC
-	-hor/vert sizes and divergence (also energy dependent)
+    -energy from from ID IOC
+    -hor/vert sizes and divergence (also energy dependent)
 -lens diameter table? What is it doing?
 
 -desired focal size is changed --> what needs updating? --> nothing, just need to search focal size array again
-	-multiple flags: is focal size achievable? is it achievable at sample?
+    -multiple flags: is focal size achievable? is it achievable at sample?
 
 recalc function -- should probably be same as init function
 -energy is updated --> what needs updating?
@@ -53,330 +53,130 @@ recalc function -- should probably be same as init function
 -what else could user/staff change? sample position?
 """
 
-# Beamline input block
-energy = 15000.0            # Energy in eV
-energy_keV = energy/1000.0  # Energy in keV
-wl = 1239.84 / (energy * 10**9)
-d_StoL1 = 51.9              # Source-to-CRL1 distance, in m
-d_StoL2 = 62.1              # Source-to-CRL2 distance, in m
-d_Stof  = 66.2              # Source-to-focus distance, in m
-#slit1_H = 500.0e-6          # H slit size before CRL 1
-#slit1_V = 300.0e-6          # V slit size before CRL 1
-
-# CRL input block
-d_min   = 3.0e-5            # Minimum thickness at the apex in m
-stack_d = 50.0e-3           # Stack thickness in m
-L1_n    = np.array([1,      1,      1,      1,      1,      1,      2,      4,      8,      16])                # CRL1 number of lenses in each stack
-L1_R    = np.array([2.0e-3, 1.0e-3, 5.0e-4, 3.0e-4, 2.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4])            # CRL1 lens radius in each stack
-L1_mater= np.array(["Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be"])              # CRL1 lens material in each stack
-L1_loc  = np.array([4.5,    3.5,    2.5,    1.5,    0.5,    -0.5,   -1.5,   -2.5,   -3.5,   -4.5])*stack_d      # CRL1 lens stack location relative to center stack, positive means upstream
-L1_HE   = np.array([1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.4e-6, 2.0e-6, 2.8e-6, 4.0e-6])            # CRL1 lens RMS thickness error
-
-
-# Source size input block
-L_und = 4.7                 # undulator length
-sigmaH_e = 14.8e-6          # Sigma electron source size in H direction in m
-sigmaV_e = 3.7e-6           # Sigma electron source size in V direction in m
-sigmaHp_e = 2.8e-6          # Sigma electron divergence in H direction in rad
-sigmaVp_e = 1.5e-6          # Sigma electron divergence in V direction in rad
-sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5
-sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5
-sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5
-sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5
-
-
-
-
-
-
-def absorptionaperture(x, n1mud, sigma, n1mur):
-    numerator = np.exp(-(x**2/(2*sigma**2))) * np.exp(-n1mur*(x**2) - n1mud)
-    denominator = np.exp(-n1mud)
-    return numerator / denominator - 0.5
-
-def find_levels(array, levels, direction='forward'):
-    """
-    Find the first indices at which the array crosses specified levels and the corresponding crossed values.
-
-    Parameters:
-        array (numpy.ndarray): An array of numbers.
-        levels (float or numpy.ndarray): A number or an array of levels to find crossings.
-        direction (str, optional): The searching direction. Defaults to 'forward'.
-                                   Can be either 'forward' or 'backward'.
-
-    Returns:
-        tuple: A tuple containing two arrays:
-            - An array of first indices at which the array crosses the specified levels.
-            - An array of first crossed values at the corresponding indices.
-    """
-
-    # Convert a single level to a numpy array
-    if isinstance(levels, (int, float)):
-        levels = np.array([levels])
-
-    indices = []
-    values = []
-
-    # Compute the max and min of the array ignoring NaNs
-    max_val = np.nanmax(array)
-    min_val = np.nanmin(array)
-
-    for level in levels:
-        # If level is out of bounds
-        if level > max_val or level < min_val:
-            indices.append(-1)
-            values.append(np.nan)
-            continue
-
-        crossings = []
-
-        if direction == 'forward':
-            for i in range(1, len(array)):
-                if np.isnan(array[i - 1]) or np.isnan(array[i]):
-                    continue
-                if (array[i - 1] < level <= array[i]) or (array[i - 1] > level >= array[i]):
-                    crossings.append(i - 1)
-                    break
-
-        elif direction == 'backward':
-            for i in range(len(array) - 2, -1, -1):
-                if np.isnan(array[i + 1]) or np.isnan(array[i]):
-                    continue
-                if (array[i + 1] < level <= array[i]) or (array[i + 1] > level >= array[i]):
-                    crossings.append(i)
-                    break
-
-        else:
-            raise ValueError("Invalid direction. It should be either 'forward' or 'backward'.")
-
-        if len(crossings) > 0:
-            idx = crossings[0]
-            indices.append(idx)
-            values.append(array[idx])
-        else:
-            # In case no crossing is found within the range
-            indices.append(-1)
-            values.append(np.nan)
-
-    return np.array(indices), np.array(values)
-
-
-def Single_CRL2D_control(fsize):
-
-    L1_D        = np.zeros(L1_R.size)                                   # CRL1 diameters for each stack
-    for i in range(L1_R.size):
-        L1_D[i] = lookup_diameter(L1_R[i])
-    L1_delta    = materials_to_deltas(L1_mater, energy_keV)             # delta values for CRL1 stacks
-    L1_mu       = materials_to_linear_attenuation(L1_mater, energy_keV) # mu values for CRL1 stacks
-    L1_Feq      = L1_R/(2*L1_n*L1_delta) + L1_loc                       # CRL1 equivalent f in m for each stack
-    
-    L1_index_n  = 2**L1_Feq.size                                        # Total number of combinations for CRL1
-    L1_invF_list= np.zeros(L1_index_n)                                  # List of equivalent 1/f in m^-1 for CRL1
-    for i in range(L1_index_n):
-        L1_invF_list[i] = np.sum(index_to_binary_list(i, L1_Feq.size)/L1_Feq)
-    # Sort the L1_invF list (to avoid zigzagging)
-    L1_invF_list_sort_indices = np.argsort(L1_invF_list)
-    L1_invF_list_sorted       = L1_invF_list[L1_invF_list_sort_indices]
-    q1_list  = 1/(L1_invF_list_sorted - 1/d_StoL1)      # focal position of CRL1 for all configurations (sorted)
-    dq1_list = q1_list - (d_Stof - d_StoL1)
-
-    # Start generating focal size list as a function of CRL1 setting
-    sigma1H         = (sigmaH**2 + (sigmaHp*d_StoL1)**2)**0.5   # sigma beam size before CRL1
-    sigma1V         = (sigmaV**2 + (sigmaVp*d_StoL1)**2)**0.5   # sigma beam size before CRL1
-    L1_n1mud_list   = np.zeros(L1_index_n)                      # List of n1*mu*d_min for all possible CRL1 configurations
-    L1_n1muR_list   = np.zeros(L1_index_n)                      # List of n1*mu/R for all possible CRL1 configurations
-    aperL1H_list    = np.zeros(L1_index_n)                      # absorption H aperture of CRL1 for all configurations
-    aperL1V_list    = np.zeros(L1_index_n)                      # absorption V aperture of CRL1 for all configurations
-    diameter1_list  = np.zeros(L1_index_n)                      # CRL1 diameter for all possible configurations
-    FWHM1H_list     = np.zeros(L1_index_n)                      # H focal size at the focus of CRL1
-    FWHM1V_list     = np.zeros(L1_index_n)                      # V focal size at the focus of CRL1
-    Strehl_list     = np.zeros(L1_index_n)                      # Strehl ratio based on lens thickness error
-
-    for i in range(L1_index_n):
-        # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits
-        L1_n1mud_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n*d_min))
-        L1_n1muR_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n/L1_R))
-        solution = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1H, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1H], method='bisect')
-        aperL1H_list[i] = solution.root*2.0
-        solution = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1V, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1V], method='bisect')
-        aperL1V_list[i] = solution.root*2.0
-        mask = (np.array(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)) == 1)
-        if np.all(mask == False):
-            diameter1_list[i] = np.inf
-        else:
-            diameter1_list[i] = np.min(L1_D[mask])
-        aperL1H_list[i] = min(aperL1H_list[i], diameter1_list[i], slit1_H)
-        aperL1V_list[i] = min(aperL1V_list[i], diameter1_list[i], slit1_V)
-        phase_error_tmp = np.linalg.norm(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_HE*L1_delta)*2*np.pi/wl)
-        Strehl_list[i] = np.exp(-phase_error_tmp**2)
-
-    # FWHMbeam size at CRL1 focus
-    FWHM1H_list  = ((0.88*wl*q1_list/aperL1H_list)**2 + (2.355*sigmaH*q1_list/d_StoL1)**2)**0.5
-    FWHM1V_list  = ((0.88*wl*q1_list/aperL1V_list)**2 + (2.355*sigmaV*q1_list/d_StoL1)**2)**0.5
-    if flag_HE:
-        FWHM1H_list *= (Strehl_list)**(-0.5)
-        FWHM1V_list *= (Strehl_list)**(-0.5)
-    FWHM_list   = (FWHM1H_list*FWHM1V_list)**0.5
-
-    indices, values = find_levels(FWHM_list, fsize, direction='backward')
-    index = indices[0]
-    if index == -1:
-        print(f"Cannot achieve the focal size {fsize*1.0e6:.2f} μm")
-    else:
-        print("======== Find size at focus ========================================")
-        print(f"Energy: {energy_keV} keV")
-        print(f"CRL1 configuration index in sorted list is {index}")
-        print(f"CRL1 configuration index is {L1_invF_list_sort_indices[index]} or {index_to_binary_list(L1_invF_list_sort_indices[index], L1_Feq.size)}")
-        print(f"CRL1 f is {1/L1_invF_list_sorted[index]:.2f} m, focus at q1 = {q1_list[index]:.2f} m")
-        print(f"Focal size is {FWHM1H_list[index]*1.0e6:.2f} μm x {FWHM1V_list[index]*1.0e6:.2f} μm at the focal point ({dq1_list[index]*1e3:.1f} mm from sample)")
-
-    FWHM1H_atsample_list = (FWHM1H_list**2 + (aperL1H_list*dq1_list/q1_list)**2)**0.5
-    FWHM1V_atsample_list = (FWHM1V_list**2 + (aperL1V_list*dq1_list/q1_list)**2)**0.5
-    FWHM_atsample_list   = (FWHM1H_atsample_list*FWHM1V_atsample_list)**0.5
-    indices, values = find_levels(FWHM_atsample_list, fsize, direction='forward')
-    index2 = indices[0]
-    if index2 == -1:
-        print(f"Cannot achieve the bame size {fsize*1.0e6:.2f} μm at sample")
-    else:
-        print("======== Find size at sample =======================================")
-        print(f"CRL1 configuration index in sorted list is {index2}")
-        print(f"CRL1 configuration index is {L1_invF_list_sort_indices[index2]} or {index_to_binary_list(L1_invF_list_sort_indices[index2], L1_Feq.size)}")
-        print(f"CRL1 f is {1/L1_invF_list_sorted[index2]:.2f} m, focus at q1 = {q1_list[index2]:.2f} m ({dq1_list[index2]*1e3:.1f} mm from sample)")
-        print(f"Beam size is {FWHM1H_atsample_list[index2]*1.0e6:.2f} μm x {FWHM1V_atsample_list[index2]*1.0e6:.2f} μm at the sample position)")
-
-    indices, values = find_levels(dq1_list, 0.0, direction='backward')
-    index3 = indices[0]
-    if index == -1:
-        print(f"Cannot find combination to focus close to sample")
-    else:
-        print("======== Find configuration focus close to the sample ==============")
-        print(f"CRL1 configuration index in sorted list is {index3}")
-        print(f"CRL1 configuration index is {L1_invF_list_sort_indices[index3]} or {index_to_binary_list(L1_invF_list_sort_indices[index3], L1_Feq.size)}")
-        print(f"CRL1 f is {1/L1_invF_list_sorted[index3]:.2f} m, focus at q1 = {q1_list[index3]:.2f} m ({dq1_list[index3]*1e3:.1f} mm from sample)")
-        print(f"Beam size is {FWHM1H_atsample_list[index3]*1.0e6:.2f} μm x {FWHM1V_atsample_list[index3]*1.0e6:.2f} μm at the sample position)")
-
-    return
-
-
-if __name__ == "__main__":
-
-    flag_HE = True
-
-    fsize  = 50.0e-6            # Desired focal size in m (area average of h and v size)
-    #Single_CRL2D_control(fsize)  # Find the best configuration for a single transfocator system
-
 
 '''
 Update the following to accommodate XS code
 '''
 
 class singleTF():
-	
-	def __init__(self, crl_setup = None, beam_config = DEFAULT_CONFIG['beam'], 
-	             beamline_config = DEFAULT_CONFIG['beamline'], 
-	             crl_config = DEFAULT_CONFIG['crl'], 
-	             slits_config = DEFAULT_CONFIG['slits']):
-		if crl_setup is None:
-			beam = beam_config
-			beamline = beamline_config
-			crl = crl_config
-			slits = slits_config
-		else:
-			with open(crl_setup, "rb") as f:
-				config = tomllib.load(f)
-			beam = config['beam']
-			beamline = config['beamline']
-			crl = config['crl']
-			slits = config['slits']	
-
-		self.setupSource(beam)
-		
-		self.setupBeamline(beamline)
-		
-		self.setupCRL(crl)
-		
-		self.setupSlits(slits)
-		# Initialize lens variables
-		self.L1_n    = np.array([1,      1,      1,      1,      1,      1,      2,      4,      8,      16])                # CRL1 number of lenses in each stack
-		self.L1_R    = np.array([2.0e-3, 1.0e-3, 5.0e-4, 3.0e-4, 2.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4])            # CRL1 lens radius in each stack
-		self.L1_mater= np.array(["Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be"])              # CRL1 lens material in each stack
-		self.L1_loc  = np.array([4.5,    3.5,    2.5,    1.5,    0.5,    -0.5,   -1.5,   -2.5,   -3.5,   -4.5])*stack_d      # CRL1 lens stack location relative to center stack, positive means upstream
-		self.L1_HE   = np.array([1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.4e-6, 2.0e-6, 2.8e-6, 4.0e-6])            # CRL1 lens RMS thickness error
-
-		self.Lens_diameter_table = [
-									(50, 450.0),
-									(100, 632.0),
-									(200, 894.0),
-									(300, 1095.0),
-									(500, 1414.0),
-									(1000, 2000.0),
-									(1500, 2450.0),
-								]
-		# Convert the lookup table to a dictionary for faster lookup		
-		self.Lens_diameter_dict = {int(col1): col2 for col1, col2 in Lens_diameter_table}
-		
-		self.energy = 0  # gets value from an ao (incoming beam energy)
-		self.focalSize = 0 # get value from an ao (desired focal length)
-		self.lenses = 0 # sets integer (2^12) whose binary representation indicates which lenses are in or out
-		
-		self.num_lense = 12 # Number of lenses in system
-		
-		self.verbosity = True
-
-		self.lookupTable = []
-				
-	def setupSource(self, beam_properties):
-		'''
-		Beam properties can have entries for the following
-		
-		energy 		: energy in keV
-		L_und		: undulator length in m
-		sigmaH_e	: Sigma electron source size in H direction in m
-		sigmaV_e 	: Sigma electron source size in V direction in m
-		sigmaHp		: Sigma electron divergence in H direction in rad
-		sigmaVp_e	: Sigma electron divergence in V direction in rad
-		'''
-		
-		self.setEnergy(beam_properites['energy'])
-		self.L_und = beam_properties['L_und']
-		self.sigmaH_e = beam_properties['sigmaH_e']
-		self.sigmaV_e = beam_properties['sigmaV_e']
-		self.sigmaHp_e = beam_properties['sigmaHp_e']
-		self.sigmaVp_e = beam_properties['sigmaVp_e']
-		
-		self.sigmaH =  (self.sigmaH_e**2 +  self.wl*self.L_und/2/np.pi/np.pi)**0.5
-		self.sigmaV =  (self.sigmaV_e**2 +  self.wl*self.L_und/2/np.pi/np.pi)**0.5
-		self.sigmaHp = (self.sigmaHp_e**2 + self.wl/self.L_und/2)**0.5
-		self.sigmaVp = (self.sigmaVp_e**2 + self.wl/self.L_und/2)**0.5
-		
-	def setupBeamline(self, beamline_properties):
-		'''
-		Beamline properties can contain entries for the following
-		
-		d_StoL1 : Source-to-CRL1 distance, in m
-		d_Stof  : Source-to-focus distance, in m
-		'''            
-		
-		self.d_StoL = beam_properties['d_StoL']
-		self.d_Stof = beam_properties['d_Stof']
-		
-			
-	def setupCRL(self, crl_properties):
-		'''
-		CRL properties can contiain entries for the following
-		
-		d_min   : Minimum thickness at the apex in m
-		stack_d : Stack thickness in m
-		'''
-		self.d_min = crl_properties['d_min'] 
-		self.stack_d = crl_properties['stack_d']
-		
-	def setLensCount(self, lensCount):
-		self.numLens = 
+    
+    def __init__(self, crl_setup = None, beam_config = DEFAULT_CONFIG['beam'], 
+                 beamline_config = DEFAULT_CONFIG['beamline'], 
+                 crl_config = DEFAULT_CONFIG['crl'], 
+                 slits_config = DEFAULT_CONFIG['slits']):
+        if crl_setup is None:
+            beam = beam_config
+            beamline = beamline_config
+            crl = crl_config
+            slits = slits_config
+        else:
+            with open(crl_setup, "rb") as f:
+                config = tomllib.load(f)
+            beam = config['beam']
+            beamline = config['beamline']
+            crl = config['crl']
+            slits = config['slits'] 
+
+        self.setupSource(beam)
+        
+        self.setupBeamline(beamline)
+        
+        self.setupCRL(crl)
+        
+        # TODO is setupSlits necessary?
+        self.setupSlits(slits)
+        
+        # Initialize lens variables -- TODO -- this is done via a subs file -- are any of these needed prior to that loading?
+        self.numlens        = np.array([1,      1,      1,      1,      1,      1,      2,      4,      8,      16])                # CRL1 number of lenses in each stack (was L1_n)
+        self.radius         = np.array([2.0e-3, 1.0e-3, 5.0e-4, 3.0e-4, 2.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4])            # CRL1 lens radius in each stack (was L1_R)
+        self.materials      = np.array(["Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be",   "Be"])              # CRL1 lens material in each stack (was L1_mater)
+        self.lens_loc       = np.array([4.5,    3.5,    2.5,    1.5,    0.5,    -0.5,   -1.5,   -2.5,   -3.5,   -4.5])*stack_d      # CRL1 lens stack location relative to center stack, positive means upstream (was L1_Loc)
+        self.lens_thickerr  = np.array([1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.4e-6, 2.0e-6, 2.8e-6, 4.0e-6])            # CRL1 lens RMS thickness error (was L1_HE)
+
+
+        #<----- lens diameter stuff done in transfocator calcs, should this be removed from here?
+        self.Lens_diameter_table = [
+                                    (50, 450.0),
+                                    (100, 632.0),
+                                    (200, 894.0),
+                                    (300, 1095.0),
+                                    (500, 1414.0),
+                                    (1000, 2000.0),
+                                    (1500, 2450.0),
+                                ]
+        # Convert the lookup table to a dictionary for faster lookup        
+        self.Lens_diameter_dict = {int(col1): col2 for col1, col2 in Lens_diameter_table}
+        # end lens diameter stuff ------->
+        
+        self.energy = 0  # gets value from an ao (incoming beam energy)
+        self.focalSize = 0 # get value from an ao (desired focal length)
+        self.lenses = 0 # sets integer (2^12) whose binary representation indicates which lenses are in or out
+        
+        self.num_lense = 12 # Number of lenses in system
+        
+        self.verbosity = True
+
+        self.lookupTable = []
+                
+    def setupSource(self, beam_properties):
+        '''
+        Beam properties can have entries for the following
+        
+        energy      : energy in keV
+        L_und       : undulator length in m
+        sigmaH_e    : Sigma electron source size in H direction in m
+        sigmaV_e    : Sigma electron source size in V direction in m
+        sigmaHp     : Sigma electron divergence in H direction in rad
+        sigmaVp_e   : Sigma electron divergence in V direction in rad
+        '''
+        
+        self.setEnergy(beam_properites['energy'])
+        self.beam['L_und'] = beam_properties['L_und']
+        self.beam['sigmaH_e'] = beam_properties['sigmaH_e']
+        self.beam['sigmaV_e'] = beam_properties['sigmaV_e']
+        self.beam['sigmaHp_e'] = beam_properties['sigmaHp_e']
+        self.beam['sigmaVp_e'] = beam_properties['sigmaVp_e']
+        
+        self.beam['sigmaH'] =  (self.sigmaH_e**2 +  self.wl*self.L_und/2/np.pi/np.pi)**0.5
+        self.beam['sigmaV'] =  (self.sigmaV_e**2 +  self.wl*self.L_und/2/np.pi/np.pi)**0.5
+        self.beam['sigmaHp'] = (self.sigmaHp_e**2 + self.wl/self.L_und/2)**0.5
+        self.beam['sigmaVp'] = (self.sigmaVp_e**2 + self.wl/self.L_und/2)**0.5
+        
+    def setupBeamline(self, beamline_properties):
+        '''
+        Beamline properties can contain entries for the following
+        
+        d_StoL1 : Source-to-CRL1 distance, in m
+        d_Stof  : Source-to-focus distance, in m
+        '''            
+        
+        self.bl['d_StoL'] = beam_properties['d_StoL']
+        self.bl['d_Stof'] = beam_properties['d_Stof']
+        
+            
+    def setupCRL(self, crl_properties):
+        '''
+        CRL properties can contiain entries for the following
+        
+        d_min   : Minimum thickness at the apex in m
+        stack_d : Stack thickness in m
+        '''
+        self.crl['d_min'] = crl_properties['d_min'] 
+        self.crl['stack_d'] = crl_properties['stack_d']
+
+    def setupSlits(self, slit_properties):
+        '''
+        Slit properties can contiain entries for the following
+        
+        '''
+        pass 
+                
+    def setLensCount(self, lensCount):
+        self.numLens = 
 
     def setupLookupTable(self, subs_file, n_lenses, energy = 8.0):
         '''
-        lookup table created after IOC startup (after filter materials and 
+        lookup table created after IOC startup (after transfocator materials and 
         thicknesses are set
         '''
         print(80*'#')
@@ -396,7 +196,7 @@ class singleTF():
         
         macros = subsFileContent[2].replace('{','').replace('}','').replace(',','').split()
         lens_properties = {key: [] for key in macros} # dictionary of lists
-        for i in range(self.num_filters):
+        for i in range(self.num_lenses):
             try:
                 xx = subsFileContent[3+i].replace('{','').replace('}','').replace(',','').replace('"','').split()
                 lens_properties[macros[0]].append(xx[0])
@@ -415,7 +215,7 @@ class singleTF():
         self.lens_loc = []
         self.lens_thickerr = []
             
-		# get number of lens for each lens from lens properties dictionary-list
+        # get number of lens for each lens from lens properties dictionary-list
         print('Getting lens materials...')
         if NLENS_MACRO in macros:
             self.numlens = lens_properties[NLENS_MACRO]
@@ -423,7 +223,7 @@ class singleTF():
         else:
             raise RuntimeError(f"Number of lenses macro ({NLENS_MACRO}) not found in substituion file")
 
-		# get radii for each lens from lens properties dictionary-list
+        # get radii for each lens from lens properties dictionary-list
         print('Getting lens\' radii...')
         if RAD_MACRO in macros:
             self.radius = lens_properties[RAD_MACRO]
@@ -443,7 +243,7 @@ class singleTF():
         densities = get_densities(self.materials)
         self.densities = [densities[material] for material in self.materials]
 
-		# get location of each lens from lens properties dictionary-list
+        # get location of each lens from lens properties dictionary-list
         print('Getting lens\' locations...')
         if LOC_MACRO in macros:
             self.lens_loc = lens_properties[LOC_MACRO]*self.stack_d
@@ -463,14 +263,16 @@ class singleTF():
         self.construct_lookup_table()
         print('Lookup table calculation complete.\n')
         
-        print('Filter control setup complete.')
+        print('Transfocator control setup complete.')
         print(80*'#')
 
-	def construct_lookup_table(self):
-		self.lookupTable = calc_lookup_table(self.num_configs, self.radius, 
-		                                     self.material, self.energy, self.numlens, 
-		                                     self.lens_loc)
-		self.culledTable()
+    def construct_lookup_table(self):
+        self.lookupTable = calc_lookup_table(self.num_configs, self.radius, 
+                                             self.material, self.energy, self.numlens, 
+                                             self.lens_loc, self.beam, self.bl,
+                                             self.crl, self.slit1_H, self.slit1_V,
+                                             self.lens_thickerr, flag_HE = self.thickerr_flag)
+        self.cull_lookup_table()
 
     def cull_lookup_table(self):
         '''
@@ -508,7 +310,7 @@ class singleTF():
 
         self.setFocalSizeActual()
         self.updateLensRBV()
-        self.updateFocalSizeRBVs()		
+        self.updateFocalSizeRBVs()      
 
     def setInMask(self, inMask):
         '''
@@ -518,7 +320,7 @@ class singleTF():
         self.cull_lookup_table()
         if self.verbose: print(f'Converting culled index via in Mask')
         self.convertCulledIndex()
-        if self.verbose: print(f'Updating filter RBV via in Mask')
+        if self.verbose: print(f'Updating transfocator RBV via in Mask')
         self.updateLensRBV()
         if self.verbose: print(f'Setting in mask RBV to {self.inMask}')
         pydev.iointr('new_inMask', int(self.inMask))
@@ -531,7 +333,7 @@ class singleTF():
         self.cull_lookup_table()
         if self.verbose: print(f'Converting culled index via out Mask')
         self.convertCulledIndex()
-        if self.verbose: print(f'Updating filter RBV via out Mask')
+        if self.verbose: print(f'Updating transfocator RBV via out Mask')
         self.updateLensRBV()
         if self.verbose: print(f'Setting out mask RBV to {self.outMask}')
         pydev.iointr('new_outMask', int(self.outMask))
@@ -553,8 +355,8 @@ class singleTF():
         '''
         self.focalSize_actual = self.culledTable[self.culledIndex] 
 
-	def find_config(self):
-		''' 
+    def find_config(self):
+        ''' 
         User selected focal size, this function finds nearest acheivable focal 
         size from the lookup table
         '''
@@ -570,60 +372,81 @@ class singleTF():
         self.setFocalSizeActual()
         self.updateLensConfigPV()
         self.updateLensRBV()
-        self.updateFocalSizeRBVs()		
+        self.updateFocalSizeRBVs()      
 
-	def setSlitSize(self, size, slit):
-		'''
-		Update proper slit size
-		'''
-		
-		if slit = 'hor':
-			self.slit1_H = float(size)     # H slit size before CRL 1
-		elif slit == 'vert':
-			self.slit1_V = float(size)     # V slit size before CRL 1
-		else 
-			# Need error handling
-			break	
-			
-					
-	def updateSlitSize(self, size, slit):
-		'''
-		Slit size updates are propagated to CRL object from EPICS.  The beam
-		size lookup table is then recalculated.
-		'''
-		self.setSlitSize(self, size, slit)
-		
-		self.construct_lookup_table()
+    def setSlitSize(self, size, slit):
+        '''
+        Update proper slit size
+        '''
+        
+        if slit = 'hor':
+            self.slit1_H = float(size)     # H slit size before CRL 1
+        elif slit == 'vert':
+            self.slit1_V = float(size)     # V slit size before CRL 1
+        else 
+            # Need error handling
+            break   
+            
+                    
+    def updateSlitSize(self, size, slit):
+        '''
+        Slit size updates are propagated to CRL object from EPICS.  The beam
+        size lookup table is then recalculated.
+        '''
+        self.setSlitSize(self, size, slit)
+        
+        # Testing calling the lookup table reconstruction in EPICS instead of python
+        # self.construct_lookup_table()
 
-	def setEnergy(self, energy):
-		'''
-		Sets various forms of energy
-		'''
-		self.energy = float(energy)
-		self.energy_eV = self.energy*1000.0  # Energy in keV
-		self.wl = 1239.84 / (self.energy_eV * 10**9)	#Wavelength in nm(?)
-		
-	def updateE(self, energy):
-		'''
-		Beam energy updates are propagated to CRL object from EPICS. The beam
-		size lookup table is then recalculated.
-		'''
-		# Energy variable sent from IOC as a string
-		self.setEnergy(energy)
+    def setEnergy(self, energy):
+        '''
+        Sets various forms of energy
+        '''
+        self.energy = float(energy)
+        self.energy_eV = self.energy*1000.0  # Energy in keV
+        self.wl = 1239.84 / (self.energy_eV * 10**9)    #Wavelength in nm(?)
+        
+    def updateE(self, energy):
+        '''
+        Beam energy updates are propagated to CRL object from EPICS. The beam
+        size lookup table is then recalculated.
+        '''
+        # Energy variable sent from IOC as a string
+        self.setEnergy(energy)
 
-		self.construct_lookup_table()
-		# Do I need to find what the current config would produce as far as focal size and location?
-	    # self.focalSizeRBV = 
+        self.construct_lookup_table()
+        # Do I need to find what the current config would produce as far as focal size and location?
+        # self.focalSizeRBV = 
 
-	def updateFsize(self, focalSize):
+    def updateFsize(self, focalSize):
+        '''
+        User updates desired focal size. Lookup table is traversed to find nearest
+        to desired.
+        '''
+        # focalPoint variable sent from IOC as a string
+        self.focalSize = float(focalSize)
+        self.find_config()
+        
+    def updateIndex(self, sortedIndex):
+        '''
+        User has updated desired sorted index
+        '''
+        self.culledIndexSorted = int(sortedIndex)
+        self.culledIndex = self.sorted_index[self.culledIndexSorted]
+
+        # Update PVs
+        self.setFocalSizeActual()
+        self.updateLensConfigPV()
+        self.updateLensRBV()
+        self.updateFocalSizeRBVs()    
+
+    def updateThickerrFlag(self, flag):
 		'''
-		User updates desired focal size. Lookup table is traversed to find nearest
-		to desired.
+		User has updated thickness error flag so that ...
 		'''
-		# focalPoint variable sent from IOC as a string
-		self.focalSize = float(focalSize)
-		self.find_config()
-		
+		self.thickerr_flag = flag
+
+        
     def updateLensConfigPV(self):
         '''
         
@@ -636,6 +459,23 @@ class singleTF():
         
         '''
         pydev.iointr('new_index', int(self.culledIndexSorted))
+
+    def updateEnergyRBV(self):
+        '''
+        
+        '''
+        pydev.iointr('updated_E', int(self.energy))
+
+    def updateSlitSizeRBV(self, size, slit):
+        '''
+        Update proper slit size
+        '''
+        
+        if slit = 'hor':
+            pydev.iointr('updated_slitSize_H', int(self.slit1_H))
+        elif slit == 'vert':
+            pydev.iointr('updated_slitSize_V', int(self.slit1_V))
+
         
     def updateFocalSizeRBVs(self):
         '''
@@ -643,10 +483,10 @@ class singleTF():
         '''
         pydev.iointr('new_fSize', self.focalSize_actual)
   
-		
+        
     def updateVerbosity(self, verbosity):
         '''
         Turn on minor printing
         '''
         print(f'Verbosity set to {verbosity}')
-        self.verbose = verbosity
+        self.verbose = int(verbosity)
diff --git a/100idPyApp/python/transfocator_calcs.py b/100idPyApp/python/transfocator_calcs.py
index 31d3809d2311e527bfe0bd0ef1b318adffda85c6..33e11b16fb2a25b0140ffc99985887f53f74633f 100644
--- a/100idPyApp/python/transfocator_calcs.py
+++ b/100idPyApp/python/transfocator_calcs.py
@@ -1,10 +1,10 @@
 import xraylib
 
 __all__ = """
-	lookup_diameter 
-	materials_to_deltas 
-	materials_to_linear_attenuation 
-	calc_lookup_table
+    lookup_diameter 
+    materials_to_deltas 
+    materials_to_linear_attenuation 
+    calc_lookup_table
 """.split()
 
 # Lookup table where each entry is a tuple (column1, column2)
@@ -137,66 +137,90 @@ def materials_to_linear_attenuation(material_list, energy):
     
     return mu_list
 
-def calc_lookup_table(num_configs, radii, materials, energy_keV, numlens, lens_loc):
-	lookupTable = np.empty(num_configs)
-	
-	L1_D        = np.zeros(len(radii))                                   # CRL1 diameters for each stack
-	for i in range(len(radii)):
-		L1_D[i] = lookup_diameter(radii[i])
-	L1_delta    = materials_to_deltas(materials, energy_keV)             # delta values for CRL1 stacks
-	L1_mu       = materials_to_linear_attenuation(material, energy_keV) # mu values for CRL1 stacks
-	L1_Feq      = radii/(2*numlens*L1_delta) + lens_loc                       # CRL1 equivalent f in m for each stack
-
-	#------------------> Needs refactoring <--------------------------------
-
-	
-	L1_index_n  = 2**L1_Feq.size                                        # Total number of combinations for CRL1
-	L1_invF_list= np.zeros(L1_index_n)                                  # List of equivalent 1/f in m^-1 for CRL1
-	for i in range(L1_index_n):
-		L1_invF_list[i] = np.sum(index_to_binary_list(i, L1_Feq.size)/L1_Feq)
-	# Sort the L1_invF list (to avoid zigzagging)
-	L1_invF_list_sort_indices = np.argsort(L1_invF_list)
-	L1_invF_list_sorted       = L1_invF_list[L1_invF_list_sort_indices]
-	q1_list  = 1/(L1_invF_list_sorted - 1/d_StoL1)      # focal position of CRL1 for all configurations (sorted)
-	dq1_list = q1_list - (d_Stof - d_StoL1)
-	
-	# Start generating focal size list as a function of CRL1 setting
-	sigma1H         = (sigmaH**2 + (sigmaHp*d_StoL1)**2)**0.5   # sigma beam size before CRL1
-	sigma1V         = (sigmaV**2 + (sigmaVp*d_StoL1)**2)**0.5   # sigma beam size before CRL1
-	L1_n1mud_list   = np.zeros(L1_index_n)                      # List of n1*mu*d_min for all possible CRL1 configurations
-	L1_n1muR_list   = np.zeros(L1_index_n)                      # List of n1*mu/R for all possible CRL1 configurations
-	aperL1H_list    = np.zeros(L1_index_n)                      # absorption H aperture of CRL1 for all configurations
-	aperL1V_list    = np.zeros(L1_index_n)                      # absorption V aperture of CRL1 for all configurations
-	diameter1_list  = np.zeros(L1_index_n)                      # CRL1 diameter for all possible configurations
-	FWHM1H_list     = np.zeros(L1_index_n)                      # H focal size at the focus of CRL1
-	FWHM1V_list     = np.zeros(L1_index_n)                      # V focal size at the focus of CRL1
-	Strehl_list     = np.zeros(L1_index_n)                      # Strehl ratio based on lens thickness error
-	
-	for i in range(L1_index_n):
-		# absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits
-		L1_n1mud_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n*d_min))
-		L1_n1muR_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n/L1_R))
-		solution = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1H, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1H], method='bisect')
-		aperL1H_list[i] = solution.root*2.0
-		solution = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1V, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1V], method='bisect')
-		aperL1V_list[i] = solution.root*2.0
-		mask = (np.array(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)) == 1)
-		if np.all(mask == False):
-			diameter1_list[i] = np.inf
-		else:
-			diameter1_list[i] = np.min(L1_D[mask])
-		aperL1H_list[i] = min(aperL1H_list[i], diameter1_list[i], slit1_H)
-		aperL1V_list[i] = min(aperL1V_list[i], diameter1_list[i], slit1_V)
-		phase_error_tmp = np.linalg.norm(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_HE*L1_delta)*2*np.pi/wl)
-		Strehl_list[i] = np.exp(-phase_error_tmp**2)
-	
-	# FWHMbeam size at CRL1 focus
-	FWHM1H_list  = ((0.88*wl*q1_list/aperL1H_list)**2 + (2.355*sigmaH*q1_list/d_StoL1)**2)**0.5
-	FWHM1V_list  = ((0.88*wl*q1_list/aperL1V_list)**2 + (2.355*sigmaV*q1_list/d_StoL1)**2)**0.5
-	if flag_HE:
-		FWHM1H_list *= (Strehl_list)**(-0.5)
-		FWHM1V_list *= (Strehl_list)**(-0.5)
-	FWHM_list   = (FWHM1H_list*FWHM1V_list)**0.5
-	#------------------> End refactoring <--------------------------------
-
-	return FWHM_list
+def absorptionaperture(x, n1mud, sigma, n1mur):
+    '''
+    Description:
+        TODO
+    
+    Parameters:
+        TODO
+        
+    Returns:
+        TODO
+    '''
+    
+    numerator = np.exp(-(x**2/(2*sigma**2))) * np.exp(-n1mur*(x**2) - n1mud)
+    denominator = np.exp(-n1mud)
+    return numerator / denominator - 0.5
+
+
+def calc_lookup_table(num_configs, radii, materials, energy_keV, numlens, lens_loc, beam, bl, crl
+					  slit1_H, slit1_V, thickerr, flag_HE = False):
+    
+    lookupTable = np.empty(num_configs)
+            
+    sigmaH = beam['sigmaH']
+    sigmaV = beam['sigmaV']
+    sigmaHp = beam['sigmaHp']
+    sigmaVp = beam['sigmaVp']
+
+    d_StoL1 = bl['d_StoL']
+    d_StoF = bl['d_Stof']
+
+    d_min = crl['d_min']
+    
+    L1_D        = np.zeros(len(radii))                                   # CRL1 diameters for each stack
+    for i in range(len(radii)):
+        L1_D[i] = lookup_diameter(radii[i])
+    L1_delta    = materials_to_deltas(materials, energy_keV)             # delta values for CRL1 stacks
+    L1_mu       = materials_to_linear_attenuation(materials, energy_keV) # mu values for CRL1 stacks
+    L1_Feq      = radii/(2*numlens*L1_delta) + lens_loc                       # CRL1 equivalent f in m for each stack
+    L1_index_n  = 2**L1_Feq.size                                        # Total number of combinations for CRL1
+    L1_invF_list= np.zeros(L1_index_n)                                  # List of equivalent 1/f in m^-1 for CRL1
+    for i in range(L1_index_n):
+        L1_invF_list[i] = np.sum(index_to_binary_list(i, L1_Feq.size)/L1_Feq)
+    # Sort the L1_invF list (to avoid zigzagging)
+    L1_invF_list_sort_indices = np.argsort(L1_invF_list)
+    L1_invF_list_sorted       = L1_invF_list[L1_invF_list_sort_indices]
+    q1_list  = 1/(L1_invF_list_sorted - 1/d_StoL1)      # focal position of CRL1 for all configurations (sorted)
+    dq1_list = q1_list - (d_Stof - d_StoL1)
+
+    # Start generating focal size list as a function of CRL1 setting
+    sigma1H         = (sigmaH**2 + (sigmaHp*d_StoL1)**2)**0.5   # sigma beam size before CRL1
+    sigma1V         = (sigmaV**2 + (sigmaVp*d_StoL1)**2)**0.5   # sigma beam size before CRL1
+    L1_n1mud_list   = np.zeros(L1_index_n)                      # List of n1*mu*d_min for all possible CRL1 configurations
+    L1_n1muR_list   = np.zeros(L1_index_n)                      # List of n1*mu/R for all possible CRL1 configurations
+    aperL1H_list    = np.zeros(L1_index_n)                      # absorption H aperture of CRL1 for all configurations
+    aperL1V_list    = np.zeros(L1_index_n)                      # absorption V aperture of CRL1 for all configurations
+    diameter1_list  = np.zeros(L1_index_n)                      # CRL1 diameter for all possible configurations
+    FWHM1H_list     = np.zeros(L1_index_n)                      # H focal size at the focus of CRL1
+    FWHM1V_list     = np.zeros(L1_index_n)                      # V focal size at the focus of CRL1
+    Strehl_list     = np.zeros(L1_index_n)                      # Strehl ratio based on lens thickness error
+
+    for i in range(L1_index_n):
+        # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits
+        L1_n1mud_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*numlens*d_min))
+        L1_n1muR_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*numlens/radii))
+        solution = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1H, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1H], method='bisect')
+        aperL1H_list[i] = solution.root*2.0
+        solution = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1V, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1V], method='bisect')
+        aperL1V_list[i] = solution.root*2.0
+        mask = (np.array(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)) == 1)
+        if np.all(mask == False):
+            diameter1_list[i] = np.inf
+        else:
+            diameter1_list[i] = np.min(L1_D[mask])
+        aperL1H_list[i] = min(aperL1H_list[i], diameter1_list[i], slit1_H)
+        aperL1V_list[i] = min(aperL1V_list[i], diameter1_list[i], slit1_V)
+        phase_error_tmp = np.linalg.norm(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(thickerr*L1_delta)*2*np.pi/wl)
+        Strehl_list[i] = np.exp(-phase_error_tmp**2)
+
+    # FWHMbeam size at CRL1 focus
+    FWHM1H_list  = ((0.88*wl*q1_list/aperL1H_list)**2 + (2.355*sigmaH*q1_list/d_StoL1)**2)**0.5
+    FWHM1V_list  = ((0.88*wl*q1_list/aperL1V_list)**2 + (2.355*sigmaV*q1_list/d_StoL1)**2)**0.5
+    if flag_HE:
+        FWHM1H_list *= (Strehl_list)**(-0.5)
+        FWHM1V_list *= (Strehl_list)**(-0.5)
+    FWHM_list   = (FWHM1H_list*FWHM1V_list)**0.5
+
+    return FWHM_list