getpythonvar

Imports the Python variable value to the OML variable.

Syntax

[value,status,errorMessage]=getpythonvar(PythonVariableName)

Inputs

PythonVariableName
Python variable name.
Type: string

Outputs

status
Status of the script executed.
1
success
0
failure
Type: number
errorMessage
Error message indicating the failure.
Type: string
value
OML variable.
Type:
Python Variable Type OML Variable Type Limitations
Bool Logical  
long, Float Number  
Complex Complex  
List Cell (1,n) n:number of elements in list Does not support if list contains Dict (with limitation), Tupple, Set
dict Struct Supports only if keys in dict are string or char.
Numpy - array, matrix Matrix Data types supported in OML: matrix, Bool, Int, long, Float, Complex.
Numpy Ndarray ND Matrix Data types supported in OML: matrix, Bool, Int, long, Float, Complex.
     
Scipy - CSC (Compressed Sparse Column Matrix) Sparse Matrix Convert Python Scipy non-CSC sparse matrix to CSC using the method tocsc() to import it to OML.

Examples

Import logical data from Python:
evalpythonscript('pofalse = False'); 
[value, status, errormessage] = getpythonvar('pofalse')
value = 0
status = 1
errormessage =
Import integer data from Python:
evalpythonscript('point = 999'); 
[value, status, errormessage] = getpythonvar('point')
value = 999
status = 1
errormessage =
Import precision data from Python:
evalpythonscript('pofloat=9.99');
[value, status, errormessage] = getpythonvar('pofloat')
value = 9.99
status = 1
errormessage =
Import complex data from Python:
evalpythonscript('pocomp=9+9j');
[value, status, errormessage] = getpythonvar('pocomp')
value = 9 + 9i
status = 1
errormessage =
Import string data from Python:
evalpythonscript('postring="String Data"');
[value, status, errormessage] = getpythonvar('postring')
value = String Data
status = 1
errormessage =
Import list data from Python:
evalpythonscript('polist  = ["a","b","c","d"]');
[value, status, errormessage] = getpythonvar('polist')
value = 
{
[1,1] a
[1,2] b
[1,3] c
[1,4] d
}
status = 1
errormessage =
Import dictionary data from Python:
evalpythonscript('polist  = ["a","b","c","d"]');
evalpythonscript('podict = {"key1":1,"key2" : polist }');
[value, status, errormessage] = getpythonvar('podict')
value = struct [
key1: 1
key2: 
{
[1,1] a
[1,2] b
[1,3] c
[1,4] d
]
status = 1
errormessage =
Import matrix data from Python:
evalpythonscript('import numpy as np');
evalpythonscript('pomatrix = np.matrix("1 2; 3 4")');
[value, status, errormessage] = getpythonvar('pomatrix')
value = [Matrix] 2 x 2
1 2
3 4
status = 1
errormessage =
Import nd matrix data from Python:
evalpythonscript('import numpy as np');
evalpythonscript('pondarray = np.arange(720).reshape(6,4,2,3,5)');
[value, status, errormessage] = getpythonvar('pondarray')
value = 
slice(:, :, 1, 1, 1) = 
[Matrix] 6 x 4
0 30 60 90
120 150 180 210
240 270 300 330
360 390 420 450
480 510 540 570
600 630 660 690
slice(:, :, 1, 1, 2) = 
[Matrix] 6 x 4 Row[1] Columns[1:4]
1 31 61 91
[Matrix] 6 x 4 Rows[2:6] Columns[1:4]
121 151 181 211
241 271 301 331
361 391 421 451
481 511 541 571
601 631 661 691
…….
slice(:, :, 2, 3, 4) = 
[Matrix] 6 x 4
28 58 88 118
148 178 208 238
268 298 328 358
388 418 448 478
508 538 568 598
628 658 688 718
slice(:, :, 2, 3, 5) = 
[Matrix] 6 x 4 Row[1] Columns[1:4]
29 59 89 119
[Matrix] 6 x 4 Rows[2:6] Columns[1:4]
149 179 209 239
269 299 329 359
389 419 449 479
509 539 569 599
629 659 689 719

status = 1
errormessage =
Import Scipy CSC sparse matrix data from Python.
evalpythonscript('import numpy as np;from scipy.sparse import csc_matrix');
evalpythonscript('row = np.array([0, 2, 2, 0, 1, 2])');
evalpythonscript('col = np.array([0, 0, 1, 2, 2, 2])');
evalpythonscript('data = np.array([1, 2, 3, 4, 5, 6])');
evalpythonscript('csc = csc_matrix((data, (row, col)), shape=(3, 3))');
csc=getpythonvar('csc')
csc = sparse [3 x 3], nnz = 6
[1,1] 1
[3,1] 2
[3,2] 3
[1,3] 4
[2,3] 5
[3,3] 6
Import Scipy non-CSC sparse matrix data from Python.
evalpythonscript('import numpy as np;from scipy.sparse import csr_matrix');
evalpythonscript('row = np.array([0, 2, 2, 0, 1, 2])');
evalpythonscript('col = np.array([0, 0, 1, 2, 2, 2])');
evalpythonscript('data = np.array([1, 2, 3, 4, 5, 6])');
evalpythonscript('csr=csr_matrix((data, (row, col)), shape=(3, 3))');
evalpythonscript('csc=csr.tocsc()');
csc=getpythonvar('csc')
csc = sparse [3 x 3], nnz = 6
[1,1] 1
[3,1] 2
[3,2] 3
[1,3] 4
[2,3] 5
[3,3] 6