digraph inheritance65bfa2393a { rankdir=LR; ratio=compress; fontsize=14; size="6.0, 8.0"; "Recoder" [shape=ellipse,URL="#nibabel.volumeutils.Recoder",fontname=Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans,fontsize=14,color=dodgerblue1,style=filled,height=0.75]; }
class to return canonical code(s) from code or aliases
The concept is a lot easier to read in the implementation and tests than it is to explain, so...
>>> # If you have some codes, and several aliases, like this:
>>> code1 = 1; aliases1=['one', 'first']
>>> code2 = 2; aliases2=['two', 'second']
>>> # You might want to do this:
>>> codes = [[code1]+aliases1,[code2]+aliases2]
>>> recodes = Recoder(codes)
>>> recodes.code['one']
1
>>> recodes.code['second']
2
>>> recodes.code[2]
2
>>> # Or maybe you have a code, a label and some aliases
>>> codes=((1,'label1','one', 'first'),(2,'label2','two'))
>>> # you might want to get back the code or the label
>>> recodes = Recoder(codes, fields=('code','label'))
>>> recodes.code['first']
1
>>> recodes.code['label1']
1
>>> recodes.label[2]
'label2'
>>> # For convenience, you can get the first entered name by
>>> # indexing the object directly
>>> recodes[2]
2
Methods
add_codes | |
keys | |
value_set |
Create recoder object
codes give a sequence of code, alias sequences fields are names by which the entries in these sequences can be accessed.
By default fields gives the first column the name “code”. The first column is the vector of first entries in each of the sequences found in codes. Thence you can get the equivalent first column value with ob.code[value], where value can be a first column value, or a value in any of the other columns in that sequence.
You can give other columns names too, and access them in the same way - see the examples in the class docstring.
Parameters : | codes : seqence of sequences
fields : {(‘code’,) string sequence}, optional
|
---|
Methods
add_codes | |
keys | |
value_set |
Add codes to object
>>> codes = ((1, 'one'), (2, 'two'))
>>> rc = Recoder(codes)
>>> rc.value_set() == set((1,2))
True
>>> rc.add_codes(((3, 'three'), (1, 'first')))
>>> rc.value_set() == set((1,2,3))
True
Return all available code and alias values
Returns same value as obj.field1.keys() and, with the default initializing fields argument of fields=(‘code’,), this will return the same as obj.code.keys()
>>> codes = ((1, 'one'), (2, 'two'), (1, 'repeat value'))
>>> k = Recoder(codes).keys()
>>> k.sort() # Just to guarantee order for doctest output
>>> k
[1, 2, 'one', 'repeat value', 'two']
Return set of possible returned values for column
By default, the column is the first column.
Returns same values as set(obj.field1.values()) and, with the default initializing``fields`` argument of fields=(‘code’,), this will return the same as set(obj.code.values())
Parameters : | name : {None, string}
>>> codes = ((1, ‘one’), (2, ‘two’), (1, ‘repeat value’)) : >>> vs = Recoder(codes).value_set() : >>> vs == set([1, 2]) # Sets are not ordered, hence this test : True : >>> rc = Recoder(codes, fields=(‘code’, ‘label’)) : >>> rc.value_set(‘label’) == set((‘one’, ‘two’, ‘repeat value’)) : True : |
---|