I used this file to figure out how to replace links to shared parameters with 'hard' copies (or rather pointer to the right dictionaries, if you don't save it in some file or something). You can have a look at this if you want to know how those links work. It has no other use.
In [1]:
import jpkfile
jpk = jpkfile.JPKFile("force-save-2016.07.05-10.00.50.062.jpk-nt-force")
if jpk.has_shared_header:
print("This JPKFile has a shared header!")
WARNING! Did not find encoder parameters for channel trapDistance!
WARNING! Did not find encoder parameters for channel trapDistance!
This JPKFile has a shared header!
In [2]:
def find_link(list_of_all_links, parameter_subset,link_keys,chain):
print "==== loop starting with chain ",chain
for key in parameter_subset:
print "==== ==== processing key ",key
copy_chain = chain[:]
copy_chain.append(key)
if key in link_keys and key!="date":
print "==== ==== ==== identified key as link"
list_of_all_links.append(copy_chain)
else:
if isinstance(parameter_subset[key],dict):
print "==== ==== ==== key is no link and value is dict"
find_link(list_of_all_links, parameter_subset[key],link_keys,copy_chain)
else:
print "==== ==== ==== key is no link, value is no dict --> done with branch"
In [3]:
links = []
find_link(links,jpk.segments[0].parameters, jpk.shared_parameters.keys(),[])
==== loop starting with chain []
==== ==== processing key date
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key channels
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channels']
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key force-segment-header
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header']
==== ==== processing key time-stamp
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key bead-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key settings
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'settings']
==== ==== processing key style
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key segment-settings
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'settings', 'segment-settings']
==== ==== processing key style
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key end
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'settings', 'segment-settings', 'end']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key feedback
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'settings', 'segment-settings', 'start']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key duration
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key identifier
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'settings', 'segment-settings', 'identifier']
==== ==== processing key type
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key type
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key type
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key feedback-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'settings', 'feedback-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key environment
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment']
==== ==== processing key traps
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'traps']
==== ==== processing key trap-two
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'traps', 'trap-two']
==== ==== processing key position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'traps', 'trap-two', 'position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key multiplexed
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key movable
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key trap-one
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'traps', 'trap-one']
==== ==== processing key position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'traps', 'trap-one', 'position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key multiplexed
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key movable
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key series-scan-direction
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-scan-direction']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z-scanner-map
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map']
==== ==== processing key z-scanners
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanners']
==== ==== processing key active-z-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanners', 'active-z-scanner']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanner']
==== ==== processing key piezo
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanner', 'piezo']
==== ==== processing key z-scanner-environment
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanner', 'piezo', 'z-scanner-environment']
==== ==== processing key z-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanner', 'piezo', 'z-scanner-environment', 'z-scanner']
==== ==== processing key measured-position
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key error-channel
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key position-channel
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key internal
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z-range
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanner', 'piezo', 'z-scanner-environment', 'z-range']
==== ==== processing key range
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'z-scanner-map', 'z-scanner', 'piezo', 'z-scanner-environment', 'z-range', 'range']
==== ==== processing key max
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key min
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancyname
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key segment-start-xy-scanner-position-map
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map']
==== ==== processing key xy-scanners
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanners']
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key position-index
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key active-xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanners', 'active-xy-scanner']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner']
==== ==== processing key sample-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key laser-scanner-2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key laser-scanner-1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'segment-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key series-start-xy-scanner-position-map
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map']
==== ==== processing key xy-scanners
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanners']
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key position-index
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key active-xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanners', 'active-xy-scanner']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner']
==== ==== processing key sample-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key laser-scanner-2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key laser-scanner-1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'series-start-xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-position-map
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map']
==== ==== processing key defined
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanners
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanners']
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key position-index
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key active-xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanners', 'active-xy-scanner']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner']
==== ==== processing key sample-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'sample-scanner']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'sample-scanner', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key laser-scanner-2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-2', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key laser-scanner-1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1']
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'xy-scanner']
==== ==== processing key description
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key fancy-name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key scanner-id
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key start-position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'start-position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner-mode
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'laser-scanner-1', 'xy-scanner-mode']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key duration
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key force-scan-flags
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'force-scan-flags']
==== ==== processing key z-start-out-of-range
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key done-scanning
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z-end-out-of-range
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key tipsaver-limit-exceeded
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key aborted
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key setpoint-out-of-range
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key series-done
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key data-segment
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key type
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'name']
==== ==== processing key type
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key channel
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel']
==== ==== processing key xySum1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xySum1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xySum1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xySum1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key xySum2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xySum2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xySum2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xySum2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key height
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'height']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'height', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'height', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key yLaserOutput2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yLaserOutput2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yLaserOutput2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yLaserOutput2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key yLaserOutput1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yLaserOutput1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yLaserOutput1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yLaserOutput1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key xSignal1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xSignal1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xSignal1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xSignal1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key xSignal2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xSignal2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xSignal2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xSignal2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key trapDistance
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'trapDistance']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'trapDistance', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'trapDistance', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key capacitiveSensorXPosition
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorXPosition']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorXPosition', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorXPosition', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key xPiezoOutput
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xPiezoOutput']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xPiezoOutput', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xPiezoOutput', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key ySignal2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'ySignal2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'ySignal2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'ySignal2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key ySignal1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'ySignal1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'ySignal1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'ySignal1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key xLaserOutput2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xLaserOutput2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xLaserOutput2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xLaserOutput2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key xLaserOutput1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xLaserOutput1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xLaserOutput1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'xLaserOutput1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key yPiezoOutput
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yPiezoOutput']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yPiezoOutput', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'yPiezoOutput', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key zSignal2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'zSignal2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'zSignal2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'zSignal2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key zSignal1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'zSignal1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'zSignal1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'zSignal1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key precision-1
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-1']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-1', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-1', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key precision-2
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-2']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-2', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-2', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key precision-3
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-3']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-3', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-3', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key precision-4
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-4']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-4', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'precision-4', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key distance
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'distance']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'distance', 'data']
==== ==== processing key start
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key step
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key capacitiveSensorYPosition
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorYPosition']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorYPosition', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorYPosition', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key capacitiveSensorHeight
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorHeight']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorHeight', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'capacitiveSensorHeight', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
In [4]:
links
Out[4]:
[['channel', 'xySum1', 'lcd-info'],
['channel', 'xySum2', 'lcd-info'],
['channel', 'height', 'lcd-info'],
['channel', 'yLaserOutput2', 'lcd-info'],
['channel', 'yLaserOutput1', 'lcd-info'],
['channel', 'xSignal1', 'lcd-info'],
['channel', 'xSignal2', 'lcd-info'],
['channel', 'trapDistance', 'lcd-info'],
['channel', 'capacitiveSensorXPosition', 'lcd-info'],
['channel', 'xPiezoOutput', 'lcd-info'],
['channel', 'ySignal2', 'lcd-info'],
['channel', 'ySignal1', 'lcd-info'],
['channel', 'xLaserOutput2', 'lcd-info'],
['channel', 'xLaserOutput1', 'lcd-info'],
['channel', 'yPiezoOutput', 'lcd-info'],
['channel', 'zSignal2', 'lcd-info'],
['channel', 'zSignal1', 'lcd-info'],
['channel', 'precision-1', 'lcd-info'],
['channel', 'precision-2', 'lcd-info'],
['channel', 'precision-3', 'lcd-info'],
['channel', 'precision-4', 'lcd-info'],
['channel', 'distance', 'lcd-info'],
['channel', 'capacitiveSensorYPosition', 'lcd-info'],
['channel', 'capacitiveSensorHeight', 'lcd-info']]
In [22]:
jpkmap = jpkfile.JPKMap("../../sdf/_sandbox/JPK/map-data-2015.04.29-16.50.13.jpk-force-map")
In [23]:
links = []
find_link(links, jpkmap.flat_indices[0].segments[0].parameters,jpkmap.shared_parameters.keys(),[])
==== loop starting with chain []
==== ==== processing key date
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key channels
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channels']
==== ==== processing key list
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key force-segment-header
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header']
==== ==== processing key time-stamp
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key baseline
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'baseline']
==== ==== processing key measured
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key baseline
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key force-segment-header-info
==== ==== ==== identified key as link
==== ==== processing key environment
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment']
==== ==== processing key xy-scanner-position-map
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map']
==== ==== processing key xy-scanners
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanners']
==== ==== processing key position-index
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key xy-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner']
==== ==== processing key tip-scanner
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'tip-scanner']
==== ==== processing key position
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'environment', 'xy-scanner-position-map', 'xy-scanner', 'tip-scanner', 'position']
==== ==== processing key y
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key x
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key duration
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key force-scan-flags
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['force-segment-header', 'force-scan-flags']
==== ==== processing key z-start-out-of-range
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key done-scanning
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key z-end-out-of-range
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key tipsaver-limit-exceeded
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key surface-incorrect
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key aborted
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key setpoint-out-of-range
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key series-done
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key data-segment
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key type
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key channel
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel']
==== ==== processing key vDeflection
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'vDeflection']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'vDeflection', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'vDeflection', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key strainGaugeHeight
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'strainGaugeHeight']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'strainGaugeHeight', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'strainGaugeHeight', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key error
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'error']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'error', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'error', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key hDeflection
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'hDeflection']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'hDeflection', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'hDeflection', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
==== ==== processing key height
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'height']
==== ==== processing key data
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'height', 'data']
==== ==== processing key num-points
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key file
==== ==== ==== key is no link and value is dict
==== loop starting with chain ['channel', 'height', 'data', 'file']
==== ==== processing key name
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key format
==== ==== ==== key is no link, value is no dict --> done with branch
==== ==== processing key lcd-info
==== ==== ==== identified key as link
In [24]:
links
Out[24]:
[['force-segment-header', 'force-segment-header-info'],
['channel', 'vDeflection', 'lcd-info'],
['channel', 'strainGaugeHeight', 'lcd-info'],
['channel', 'error', 'lcd-info'],
['channel', 'hDeflection', 'lcd-info'],
['channel', 'height', 'lcd-info']]
In [25]:
d = jpkmap.flat_indices[0].segments[0].parameters
In [26]:
d[links[0][0]]
Out[26]:
{'baseline': {'baseline': '0.6609367840580466', 'measured': 'true'},
'duration': '2.5',
'environment': {'xy-scanner-position-map': {'xy-scanner': {'tip-scanner': {'position': {'x': '-1.8750000814206397E-5',
'y': '-1.875000055639165E-5'}}},
'xy-scanners': {'position-index': '0'}}},
'force-scan-flags': {'aborted': 'false',
'data-segment': 'true',
'done-scanning': 'false',
'series-done': 'false',
'setpoint-out-of-range': 'false',
'surface-incorrect': 'false',
'tipsaver-limit-exceeded': 'false',
'z-end-out-of-range': 'false',
'z-start-out-of-range': 'false'},
'force-segment-header-info': {'*': '0'},
'num-points': '5120',
'time-stamp': '2015-04-29 16\\:50\\:09.994 +0200',
'type': 'spm-force-segment-header'}
In [27]:
index = d[links[0][0]].pop(links[0][1])['*']
In [28]:
index
Out[28]:
'0'
In [29]:
d[links[0][0]].update(jpkmap.shared_parameters[links[0][1]][index])
In [30]:
d[links[0][0]]
Out[30]:
{'approach-id': '2015.04.29-13.35.28-00065',
'baseline': {'baseline': '0.6609367840580466', 'measured': 'true'},
'duration': '2.5',
'environment': {'xy-scanner-position-map': {'defined': 'true',
'xy-scanner': {'tip-scanner': {'xy-scanner': {'description': 'The internal tip scanner (100x100 um)',
'fancy-name': 'Tip scanner',
'name': 'tip-scanner',
'scanner': 'tip'},
'xy-scanner-mode': {'name': 'hardwareFeedback'}}},
'xy-scanners': {'active-xy-scanner': {'name': 'tip-scanner'},
'list': 'tip-scanner'}}},
'force-scan-flags': {'aborted': 'false',
'data-segment': 'true',
'done-scanning': 'false',
'series-done': 'false',
'setpoint-out-of-range': 'false',
'surface-incorrect': 'false',
'tipsaver-limit-exceeded': 'false',
'z-end-out-of-range': 'false',
'z-start-out-of-range': 'false'},
'name': {'name': 'extend-spm', 'type': 'standard'},
'num-points': '5120',
'settings': {'feedback-mode': {'name': 'contact'},
'segment-settings': {'duration': '2.5',
'identifier': {'name': 'extend-spm', 'type': 'standard'},
'num-points': '5120',
'setpoint': '0.7363290020276099',
'style': 'extend',
'type': 'z-extend-force',
'z-end': '0.0',
'z-start': '4.9999999999999996E-6'},
'style': 'extend',
'type': 'combined'},
'time-stamp': '2015-04-29 16\\:50\\:09.994 +0200',
'type': 'spm-force-segment-header'}
In [31]:
jpkmap.shared_parameters[links[0][1]][index]
Out[31]:
{'approach-id': '2015.04.29-13.35.28-00065',
'environment': {'xy-scanner-position-map': {'defined': 'true',
'xy-scanner': {'tip-scanner': {'xy-scanner': {'description': 'The internal tip scanner (100x100 um)',
'fancy-name': 'Tip scanner',
'name': 'tip-scanner',
'scanner': 'tip'},
'xy-scanner-mode': {'name': 'hardwareFeedback'}}},
'xy-scanners': {'active-xy-scanner': {'name': 'tip-scanner'},
'list': 'tip-scanner'}}},
'name': {'name': 'extend-spm', 'type': 'standard'},
'settings': {'feedback-mode': {'name': 'contact'},
'segment-settings': {'duration': '2.5',
'identifier': {'name': 'extend-spm', 'type': 'standard'},
'num-points': '5120',
'setpoint': '0.7363290020276099',
'style': 'extend',
'type': 'z-extend-force',
'z-end': '0.0',
'z-start': '4.9999999999999996E-6'},
'style': 'extend',
'type': 'combined'},
'type': 'spm-force-segment-header'}
In [ ]:
Content source: ilyasku/jpkfile
Similar notebooks: