Hi Paul,Thanks for your response and for creating such a useful tool!When I change the index to 0, it is still the same result (see below).Regarding the SliceCanvas object, can you please expand on that a little more? Is it an object that should be defined in fsleyes' python shell? When I type it into the python shell directly (after loading an image), I get an error saying it's not defined: 'NameError: name 'SliceCanvas' is not defined'makeImage.py script:>> load('/.../subj01/subj01-T1.
nii.gz')>> print (overlayList)>> overlay = overlayListoutput:
fsleyes --runscript /...scripts/makeImage.pyWARNING runscript.pyc 104: __doAction - Script (/.../scripts/makeImage.py) could not be executed: list index out of range
Traceback (most recent call last):
pyc", line 98, in __doAction
pyc", line 166, in runScript
File "/.../scripts/makeImage.py", line 7, in <module>
File "fsleyes/overlay.pyc", line 230, in __getitem__
value.pyc", line 1112, in __getitem__
IndexError: list index out of range
--On Mon, Jul 31, 2017 at 2:00 AM, paul mccarthy <[log in to unmask]> wrote:Hi Kaori,In your code, you are referring to overlaylist - as python indices start from 0, does it work if you change this to overlayList ?There is no direct command to save a screenshot from the python shell, although it is a good idea, so I will look at adding it in.In the meantime, if you can get a reference to the SliceCanvas object(s), you can call its getBitmap method to get an in-memory bitmap that you can then save out to file. However, if you want to save an image of multiple canvases (e.g. the ortho view), you would need to generate the bitmap for each canvas, and manually arrange them.Cheers,PaulOn 29 July 2017 at 03:35, Kaori Ito <[log in to unmask]> wrote:My apologies! Looks like the first part of my message didn't get posted. Here it is:
I would ideally like to use fsleyes to render the same type of images for a large number of subjects. I am able to recursively call fsleyes -render , but I would prefer to run a python script in the python shell within the program, rather than call the program again and again. I am using the standalone fsleyes version on a mac.
First, is there a command I can call on the python shell to render images? (equivalent of fsleyes -render)
Additionally, when I load an image and attempt to access overlayList within my script, I get the error: "list index out of range" - as if it hasn't been set (see below for full output). But, when I load the image from the script and then open up the python shell from fsleyes and type in overlayList, my image is loaded and overlayList is accessible. Can someone explain why this might be happening?
Thank you in advance- any pointers would be helpful!
University of Southern CaliforniaKaori Ito, MA, OTR/L, PhD StudentChan Division of Occupational Science & Occupational Therapy