TotalDepth.util.plot.Track (Track Module)¶
Created on 28 Feb 2011
Plotting LIS data requires these components: * A PlotConfig object * A data set (e.g. a LogPass with a FrameSet). * An output driver (e.g. screen, print PDF, web SVG).
User creates a PlotConfig (this reflects a PRES table). This is reusable.
- User specifies a data set (from, to, channels etc.).
- e.g. Invoke LogPass.setFrameSet(File, theFrameSlice=theFrameSlice, theChList=theChList)
- User says ‘plot this data set with this configuration to this output device’.
- e.g. Plot(PlotConfig, LogPass, PlotDevice) Plot uses LogPass.frameSet.genChScValues(ch, sc) to plot individual curves.
Lacunae¶
Area plotting. Caching (e.g. SVG fragments - is this worth it?)
PlotConfig¶
PlotTracks¶
Typically a three track (+depth) have these dimensions in inches:
Track Left Right Width
1 0 2.4 2.4
Depth 2.4 3.2 0.8
2 3.2 5.6 2.4
3 5.6 8.0 2.4
Track names can be split (e.g. LHT1 is left hand track 1) or merged (T23 is spread across tracks two and three).
Examples of PRES and FILM records:
Table record (type 34) type: PRES
MNEM OUTP STAT TRAC CODI DEST MODE FILT LEDG REDG
-----------------------------------------------------------------------------------
SP SP ALLO T1 LLIN 1 SHIF 0.500000 -80.0000 20.0000
CALI CALI ALLO T1 LDAS 1 SHIF 0.500000 5.00000 15.0000
MINV MINV DISA T1 LLIN 1 SHIF 0.500000 30.0000 0.00000
MNOR MNOR DISA T1 LDAS 1 SHIF 0.500000 30.0000 0.00000
LLD LLD ALLO T23 LDAS 1 GRAD 0.500000 0.200000 2000.00
LLDB LLD ALLO T2 HDAS 1 GRAD 0.500000 2000.00 200000.
LLG LLG DISA T23 LDAS 1 GRAD 0.500000 0.200000 2000.00
LLGB LLG DISA T2 HDAS 1 GRAD 0.500000 2000.00 200000.
LLS LLS ALLO T23 LSPO 1 GRAD 0.500000 0.200000 2000.00
LLSB LLS ALLO T2 HSPO 1 GRAD 0.500000 2000.00 200000.
MSFL MSFL ALLO T23 LLIN 1 GRAD 0.500000 0.200000 2000.00
Table record (type 34) type: FILM
MNEM GCOD GDEC DEST DSCA
-----------------------------
1 E20 -4-- PF1 D200
2 EEE ---- PF2 D200
Table record (type 34) type: PRES
MNEM OUTP STAT TRAC CODI DEST MODE FILT LEDG REDG
-----------------------------------------------------------------------------------
NPHI NPHI ALLO T23 LDAS 1 SHIF 0.500000 0.450000 -0.150000
DRHO DRHO ALLO T3 LSPO 1 NB 0.500000 -0.250000 0.250000
PEF PEF ALLO T23 LGAP 1 SHIF 0.500000 0.00000 10.0000
SGR DISA T1 LLIN 1 SHIF 0.500000 0.00000 300.000
CGR DISA T1 LGAP 1 SHIF 0.500000 0.00000 300.000
TENS TENS DISA T3 LGAP 1 SHIF 0.500000 14000.0 4000.00
CAL CALI ALLO T1 LSPO 1 SHIF 0.500000 5.00000 15.0000
BS BS DISA T1 LGAP 1 SHIF 0.500000 5.00000 15.0000
FFLS FFLS DISA T1 LLIN 2 NB 0.500000 -0.150000 0.150000
FFSS FFSS DISA T1 LDAS 2 NB 0.500000 -0.150000 0.150000
LSHV LSHV DISA T3 LLIN 2 WRAP 0.500000 2150.00 2250.00
SSHV SSHV DISA T3 LDAS 2 WRAP 0.500000 1950.00 2050.00
FLS FLS DISA T2 LLIN 2 SHIF 0.500000 0.00000 150.000
FSS FSS DISA T2 LDAS 2 SHIF 0.500000 0.00000 150.000
RHOB RHOB ALLO T23 LLIN 1 SHIF 0.500000 1.95000 2.95000
PHIX PHIX ALLO T1 LLIN 1 NB 0.500000 0.500000 0.00000
Table record (type 34) type: FILM
MNEM GCOD GDEC DEST DSCA
-----------------------------
1 EEE ---- PF2 D200
2 EEE ---- PF1 DM
Other FILM Table Examples:
Table record (type 34) type: FILM
MNEM GCOD GDEC DEST DSCA
-----------------------------
1 EEB ---- PF1 D200
2 EEB ---- PF2 DM
Table record (type 34) type: FILM
MNEM GCOD GDEC DEST DSCA
-----------------------------
1 E20 -4-- PF1 D200
2 EEE ---- PF2 D200
MNEM GCOD GDEC DEST DSCA
-----------------------------
1 EEE ---- PF1 D200
2 E1E -4- PF2 D200
Table record (type 34) type: FILM
MNEM GCOD GDEC DEST DSCA
-----------------------------
D E3E -3- PFD D200
E E3E -3- PFE D500
5 EB0 --- PF5 D200
6 EEB --- PF6 D200
Table record (type 34) type: FILM
MNEM GCOD GDEC DEST DSCA
-----------------------------
8 EB0 --- PF8 D200
A LLLL 1111 PFA DM
E E4E -4- PFE D200
K E4E -4- PFK D500
Table record (type 34) type: FILM
MNEM CINT GCOD GDEC DEST DSCA
-------------------------------------------
1 0.00000 E2E -2- PF1 D200
2 0.00000 E2E -1- PF2 D500
3 0.00000 EEE ---- NEIT S5
4 0.00000 EEE ---- NEIT S5
Table record (type 34) type: FILM
MNEM CINT GCOD GDEC DEST DSCA
-------------------------------------------
1 300.000 E2E -2- PF1 D200
2 300.000 E2E -2- PF2 D500
3 300.000 EEE ---- NEIT S5
4 300.000 EEE ---- NEIT S5
Table record (type 34) type: FILM
MNEM CINT GCOD GDEC DEST DSCA
-------------------------------------------
1 50.0000 EEE ---- PF1 D200
2 0.00000 EEE ---- PF2 D200
3 0.00000 EEE ---- NEIT D200
4 0.00000 EEE ---- NEIT D200
Minimal, but not complete interpretation:
Ignore GDEC as dupe.
E - Equi-spaced (linear).
n - Log with number of decades.
B - Blank.
L - ?
What to do with 0 (continuation?). Examples: E20 -4– means 4 decades over track 23.
-
exception
TotalDepth.util.plot.Track.
ExceptionTotalDepthLISPlotTrack
¶ Exception for plotting tracks.
-
TotalDepth.util.plot.Track.
genLinear10
(l, r)¶ Generate a linear series of 10 track grid lines as (Stroke, position).
-
TotalDepth.util.plot.Track.
genLog10
(l, r, cycles=1, start=1)¶ Generate a log10 series of track grid lines as (Stroke, position). cycles is the number of log cycles to split the track up into. start is the start position of the scale e.g. 2 for common resistivity curves. So cycles=2, start=2 would give log grid 2 to 20000 i.e. to plot resistivity in the range 0.2 to 2000.
-
TotalDepth.util.plot.Track.
genLog10Decade2
(l, r, *, cycles=2, start=1)¶ Generator for 2 decades of log base 10
-
TotalDepth.util.plot.Track.
genLog10Decade3
(l, r, *, cycles=3, start=1)¶ Generator for 3 decades of log base 10
-
TotalDepth.util.plot.Track.
genLog10Decade4
(l, r, *, cycles=4, start=1)¶ Generator for 4 decades of log base 10
-
TotalDepth.util.plot.Track.
genLog10Decade5
(l, r, *, cycles=5, start=1)¶ Generator for 5 decades of log base 10
-
TotalDepth.util.plot.Track.
genLog10Decade1Start2
(l, r, *, cycles=1, start=2)¶ Generator for 1 decade of log base 10 starting at 2
-
TotalDepth.util.plot.Track.
genLog10Decade2Start2
(l, r, *, cycles=2, start=2)¶ Generator for 2 decades of log base 10 starting at 2
-
class
TotalDepth.util.plot.Track.
Track
(leftPos, rightPos, gridGn, plotXLines=True, plotXAlpha=False)¶ Class that represents a single track. The track, as a structural graphical element, is merely a grid. The actual curves are plotted on panes that are independent from a single track (can span multiple tracks for example).
leftPos - A Coord.Dim() object that is the left edge.
rightPos- A Coord.Dim() object that is the right edge.
gridGn - A generator of line positions, None for blank track.
plotXLines - If True then plot X Axis information (depth lines) in this track.
plotXAlpha - If True then plot X Axis information (depth numbers) in this track.
-
DEPTH_PER_CH
= Dim(0.25, 'in')¶ Space for plotting the scale for each curve
-
__init__
(leftPos, rightPos, gridGn, plotXLines=True, plotXAlpha=False)¶ The track, as a structural graphical element, is merely a grid. The actual curves are plotted on panes that are independent from a single track (can span multiple tracks for example). leftPos - A Coord.Dim() object that is the left edge. rightPos- A Coord.Dim() object that is the right edge. gridGn - A generator of line positions, None for blank track. plotXLines - If True then plot X Axis information (depth lines) in this track. plotXAlpha - If True then plot X Axis information (depth numbers) in this track.
-
__str__
()¶ Return str(self).
-
left
¶ The left edge as a Coord.Dim().
-
right
¶ The left edge as a Coord.Dim().
-
hasGrid
¶ True if ther is a grid to be generated for this track.
-
plotSVG
(topLeft, depth, theSVGWriter)¶ Plot the track gridlines. topLeft - A Coord.Pt() object that is the top left of the canvas. depth - A Coord.Dim() object that is the total depth of the grid below topLeft. drive - The plot driver.
-
__weakref__
¶ list of weak references to the object (if defined)
-