Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with Position + Orientation #8

Open
vikasrs opened this issue Nov 15, 2013 · 8 comments
Open

Issue with Position + Orientation #8

vikasrs opened this issue Nov 15, 2013 · 8 comments

Comments

@vikasrs
Copy link

vikasrs commented Nov 15, 2013

Hi,

I am using a transform from OpenIGTLink to reslice a 3D volume in the yellow slice viewer. When Position and Orientation is selected as the method, the image data in the slice viewer is not visible. The slice viewer is is always out of view. I have made the following observations which may help narrow down the issue.

If I turn on reform widget visibility in 3D window for the yellow slice viewer and also the slice visibility in 3D view, the widget and slice are at two different positions. THe widget appears at the right place but the slice is offset. I have attached a screenshot depicting this issue.
screenshot

This issue does not arise when only Position is selected as the method.

If I click on the icon which adjusts the field of view in the slice viewer, occasionally the slice appears in the right position within the widget in the 3D view and immediately returns to the previous erroneous position. But the image data in the slice viewer is not visible (completely black).

If I deactivate the incoming OpenIGTLink node and click on adjust field of view, the slice moves to the widget in 3D view and the image data appears in the slice viewer. When OpenIGTLink is activated, the slice viewer goes out of view and the slice and widget are separated in the 3D view.

Looking at the slice and widget in the 3D view, it appears that both of them respond the right way to the change in orientation of the tool that is generating the transform.

Any help resolving this issue is appreciated.

Thanks

@ungi
Copy link
Contributor

ungi commented Nov 16, 2013

Hi Vikas,

Did you try different "Mode" settings in Volume Reslice Driver?

Actually, these kinds of problems, when something doesn't appear were you expect it to appear, can most effectively be solved if you formally define the coordinate systems of all parts that move relative to each other. These coordinate system definitions tell where the origin is, and where do the first, second, and third axes point. Transforms are arrows from one coordinate system to the other. Transforms are either calibrated in advance and stay constant, or they are provided by trackers and change all the time. If you post a sketch of your coordinate systems, we may be able to figure out what's wrong.

Volume Reslice Driver is being used by several applications on a daily basis. So I'm sure you will be able to find a solution. Write an email please, if you would like to set up a Skype meeting.

Tamas

@vikasrs
Copy link
Author

vikasrs commented Nov 18, 2013

Hi Tamas,

Thanks for you reply. I am glad you responded to my issue. I am actually using PLUSserver with Micron Tracker configuration for my project :-)

By "Mode" if you mean Orientation (In-plane In-plane 90, transverse), then I have tried with different modes. None of them worked.

The transform I am using in VolumeResliceDriver is 'ImageToReference'. I believe the coordinate system definitions are handled by PLUS. If there was something wrong in the coordinate system definitions, shouldn't the reformat widget in 3D view also be out of place ? Also, as I stated earlier, when the OpenIGTLink is deactivated temporarily, thereby freezing the transforms in Slicer, clicking on reset field of view in Slice Viewer puts the image in the right place within the Reformat widget. So I assumed the transformations coming into Slicer are correct but something is wrong in the Slice Viewer's field of view.

Thanks
Vikas

@ungi
Copy link
Contributor

ungi commented Nov 18, 2013

If you are using PLUS, that makes it easier! The solution is to ask PLUS to send the images already in the Reference coordinate system. You can do that by the following line in the PLUS config file:
<Image Name="Image" EmbeddedTransformToFrame="Reference" />
This should be under the PlusOpenIGTLinkServer / ImageNames section in the config file.
If you do this, the image (volume) in Slicer will have this name: Image_Reference. That means it's already in the Reference coordinate system. So you just use "Image_Reference" as a driver in the Volume Reslice Driver module for the red frame (if you show your image in the red view).
This should do the job. Let me know how it goes.

@vikasrs
Copy link
Author

vikasrs commented Nov 20, 2013

This did not solve the problem. I still have the same issue as before even
with Image_Reference as the driver.
Please let me know if you need any additional info.

On Mon, Nov 18, 2013 at 1:29 PM, Tamas Ungi [email protected]:

If you are using PLUS, that makes it easier! The solution is to ask PLUS
to send the images already in the Reference coordinate system. You can do
that by the following line in the PLUS config file:

This should be under the PlusOpenIGTLinkServer / ImageNames section in the
config file.
If you do this, the image (volume) in Slicer will have this name:
Image_Reference. That means it's already in the Reference coordinate
system. So you just use "Image_Reference" as a driver in the Volume Reslice
Driver module for the red frame (if you show your image in the red view).
This should do the job. Let me know how it goes.


Reply to this email directly or view it on GitHubhttps://github.com//issues/8#issuecomment-28724129
.

@ungi
Copy link
Contributor

ungi commented Nov 20, 2013

Let's talk and share your screen then.

@ungi
Copy link
Contributor

ungi commented Nov 21, 2013

I've just noticed that this is not the "official" repository for Volume Reslice Driver. You should use this code: https://github.com/SlicerIGT/VolumeResliceDriver

@vikasrs
Copy link
Author

vikasrs commented Nov 22, 2013

I updated the code with the one you directed me to. Unfortunately the
problem persists. I am running Slicer built with Debug configuration. I was
wondering if running with Release configuration will help.

On Wed, Nov 20, 2013 at 9:27 PM, Tamas Ungi [email protected]:

I've just noticed that this is not the "official" repository for Volume
Reslice Driver. You should use this code:
https://github.com/SlicerIGT/VolumeResliceDriver


Reply to this email directly or view it on GitHubhttps://github.com//issues/8#issuecomment-28953076
.

@ungi
Copy link
Contributor

ungi commented Nov 22, 2013

I don't think running in Release would help. I think the next step would be to look at it though a shared screen or something. Email me so we can set up a meeting if you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants