Yep, this is probably not possible automatically.

On 28.04.2015 14:10, Jean-Christophe Houde wrote:
Hey Peter,

yes, flipping is not the problem... The problem is detecting when the flip is needed for VTK files. Let's say I simply feed a VTK file to Mitk-diffusion without any a priori knowledge of the tools used to generate it, the ideal case would be to be able to detect if a flip is needed or not. However, in real life, there is not foolproof solution... My comment was more of a realization than a question.

Cheers!

--
JC

2015-04-28 5:43 GMT-04:00 Peter Neher <p.ne...@dkfz-heidelberg.de <mailto:p.ne...@dkfz-heidelberg.de>>:

    It's easy to correct. I also do it when tracking with mrtrix. You
    can use the MITK MiniApp MitkFiberProcessing to flip the fibers.
    Here is an example with mrtrix:
    1. Use streamtrack to create a .tck file
    2. use tracks2vtk to convert .tck to .fib (which is vtk)
    3. MitkFiberProcessing -i myFibers.fib -p 110 -o myFlippedFibers.fib
    the -p option lets you specify the flipping dimension. in this
    case the fibers are flipped in x and y  but not in z direction
    (110). so using -p 110 converts from RAS to LPS.

    Peter


    On 27.04.2015 14:58, Jean-Christophe Houde wrote:
    Hi Peter,

    after a few full days of testing, I found the "issue". In fact,
    there is no real issue. As was explained earlier, MITK works in
    LPS. However, other tools work in RAS. For example, the tck file
    format is saved with regards to the affine from the header of the
    nifti file that was used to do the tracking. The only thing I
    found out is that our colleague that coded tck support in Mitk
    had already added a *-1 on the X and Y coordinates, so that they
    fit with the volumes. Without knowing it, he was already doing
    the RAS -> LPS flip.

    The only question that remains, and that probably cannot be
    answered is: what do we do with VTK files? If they were created
    with a tool compatible with Mitk (or ITK/VTK), they'll be in LPS,
    so everything will load fine. However, if they were created by a
    tool working only with Niftis, and using the RAS convention,
    they'll load incorrectly. Sadly, there's no easy way to detect
    and correct that automatically.

    Thanks everyone for your time!

    --
    Jean-Christophe


    2015-04-23 3:46 GMT-04:00 Peter Neher <p.ne...@dkfz-heidelberg.de
    <mailto:p.ne...@dkfz-heidelberg.de>>:

        Hi JC,

        the fibers in MITK are always represented as points in
        physical space without any transform. We simply hand the
        vtkPolydata, which contains the fiber points in world
        coordinates, to the mapper. No additional transform is
        applied. When saving fibers in vtk/vtp format, a possible
        transform is not preserved anyway. The format does not
        support that directly as far as I know.

        Peter



        On 22.04.2015 21:00, Jean-Christophe Houde wrote:
        Hi Caspar,

        it all makes sense. However, that raises another
        semi-related question: we are currently coding a loader for
        the .tck streamlines format. The .tck format (at least from
        mrtrix version 0.2) saves the points in world space, using
        the underlying image transform as the reference. So,
        normally, points are saved as RAS.

        When reading the file, we take the file as-is, and put the
        points in a vtkPolyData without doing any transform. What is
        surprising is that, even though MITK uses a LPS coordinate
        system, our points (which follow a RAS coordinate system)
        are displayed exactly in the correct spot...

        Therefore, I'm wondering if there is any additional
        transform that is done by the rendering code, or if there is
        another aspect I didn't take into account...

        Best,

        --
        Jean-Christophe

        2015-04-22 13:25 GMT-04:00 Goch, Caspar Jonas
        <c.g...@dkfz-heidelberg.de <mailto:c.g...@dkfz-heidelberg.de>>:

            Hi Jean-Christophe,

            MITK uses ITK for a lot of the image loading and Nifti
            in particular [1,2]. Due to that it shares ITK’s
            preferred orientation LPS. AFAIK the q/sform uses RAS as
            a standard, so the flip is probably due to ITK
            conversions as you assumed.

            Does this answer your question?

            Best,

            Caspar

            [1]
            http://www.itk.org/Doxygen/html/classitk_1_1NiftiImageIO.html

            [2]
            http://www.itk.org/Doxygen/html/classitk_1_1ImageIOBase.html

            *Von:*Jean-Christophe Houde
            [mailto:jean.christophe.ho...@gmail.com
            <mailto:jean.christophe.ho...@gmail.com>]
            *Gesendet:* Mittwoch, 22. April 2015 17:07
            *An:* mitk-users@lists.sourceforge.net
            <mailto:mitk-users@lists.sourceforge.net>
            *Betreff:* [mitk-users] Orientation and transforms question

            Hi everyone,

            I would like to have some clarifications on the
            interpretation of orientations and transforms in Mitk.
            First, what is the preferred orientation in MITK? LPS,
            RAS, or something else?

            Secondly, there always seems to be some modifications
            applied to the affines of my images when I load them.
            When looking at the affine information in the Nifti
            image available in [1], using fslhd, I get a qform of

            qform_code     1

            qto_xyz:1      1.000000  -0.000000  0.000000  -125.834106

            qto_xyz:2      0.000000  1.000000  -0.000000  -103.860718

            qto_xyz:3      0.000000  0.000000  1.000000  -53.192493

            qto_xyz:4      0.000000  0.000000  0.000000  1.000000

            and a sform of

            sform_code     1

            sto_xyz:1      1.000000  0.000000  -0.000000  -125.834106

            sto_xyz:2      0.000000  1.000000  -0.000000  -103.860718

            sto_xyz:3      0.000000  0.000000  1.000000  -53.192493

            sto_xyz:4      0.000000  0.000000  0.000000  1.000000

            which are exactly the same, save for some -0 switched to
            0 and vice-versa. Those switches should have no effect,
            at least to my knowledge.

            However, when loading this image in a software built on
            Mitk (based on release 2014.10), the IndexToWorld
            transform shown in the details of the image is

            IndexToWorldTransform:

            Matrix: -1   0 -0

                      -0 -1   0

                       0   0  1

            Offset: [125.834, 103.861, -53.1925]

            Clearly, there is a -1 factor on the 2 first rows of the
            transform (and therefore, on the offset as well). I
            guess it's a transform to go from RAS to LPS? If so, is
            this always applied on Nifti images, or there are some
            specific cases?

            This really has some implications when we want to save,
            for example, a VTK polydata file in a tool outside of
            Mitk, and the load it inside Mitk.

            Thanks for your time!

            [1]
            https://dl.dropboxusercontent.com/u/53085014/mitk/t1.nii.gz

            ---

            Jean-Christophe Houde, M.Sc.

            Research assistant

            Sherbrooke Connectivity Imaging Lab

            Sherbrooke University




        
------------------------------------------------------------------------------
        BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
        Develop your own process in accordance with the BPMN 2 standard
        Learn Process modeling best practices with Bonita BPM through
        live exercises
        http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
        event?utm_
        source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
        _______________________________________________
        mitk-users mailing list
        mitk-users@lists.sourceforge.net
        <mailto:mitk-users@lists.sourceforge.net>
        https://lists.sourceforge.net/lists/listinfo/mitk-users





------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to