I think the reason that my initial approach did not work is exactly because
of the code in [2]. First the coordinates stored in the xml file are
"divided [by] the Scale Factor (= spacing in x and y) to convert it from mm
to index units" and then "we convert the 3d index to a 3D world point in
mm." (ie apply the transformation matrix).

I think this is then equivalent to dividing the first two on-diagonal
elements of the transformation matrix by the scaling factor.

On Thu, Oct 5, 2017 at 5:50 AM, Goch, Caspar Jonas <
[email protected]> wrote:

> Hi Alex,
>
>
>
> I would assume your first approach to work, given how we can get the
> control points in world coordinates internally [1,2]. How did you notice
> that approach not working? What did not fit?
>
>
>
> Best,
>
> Caspar
>
>
>
> [1] https://phabricator.mitk.org/source/mitk/browse/master/
> Modules/PlanarFigure/src/DataManagement/mitkPlanarFigure.cpp;
> ded9a12a0fdb8ae6b20771913e610e5dcd40f41b$256-262
>
> [2] https://phabricator.mitk.org/source/mitk/browse/master/
> Modules/Core/src/DataManagement/mitkPlaneGeometry.cpp;
> ded9a12a0fdb8ae6b20771913e610e5dcd40f41b$881-894
>
>
>
>
>
> *Von:* Alex Rothberg [mailto:[email protected]]
> *Gesendet:* Samstag, 30. September 2017 20:27
> *An:* [email protected]
> *Betreff:* [mitk-users] Converting PlanarLine to World Coordinates
>
>
>
> I would like to convert the coordinates of a PlanarLine defined in a pf
> file to world coordinates. I assumed that the way to do this was multiple
> the (x, y, 0) of each control point by a transformation matrix specific by
> the transformParam. That does not seem to work. Apparently I am just
> supposed to add the origin to the control point. What am I misunderstanding
> with how the planar figure / PlanarLine is represented in XML? These files
> are created using MITK-GEM and stored in an mitk scene file.
>
>
>
> Here is the pf file:
>
> <?xml version="1.0" ?>
>
> <Version 
> Writer="C:\MITK\build2013\MITK\Modules\PlanarFigure\src\IO\mitkPlanarFigureWriter.cpp"
>  CVSRevision="$Revision: 17055 $" FileVersion="1" />
>
> <PlanarFigure type="PlanarLine">
>
>     <property key="closed" type="BoolProperty">
>
>         <bool value="false" />
>
>     </property>
>
>     <property key="initiallyplaced" type="BoolProperty">
>
>         <bool value="true" />
>
>     </property>
>
>     <ControlPoints>
>
>         <Vertex id="0" x="115.8695640182204" y="213.91333499194826" />
>
>         <Vertex id="1" x="112.39129840859526" y="44.347886522720955" />
>
>     </ControlPoints>
>
>     <Geometry>
>
>         <transformParam param0="0.958333313465118" param1="0" param2="0" 
> param3="0" param4="-0.958333313465118" param5="0" param6="0" param7="0" 
> param8="-6.50000047683716" param9="-112.320826202631" 
> param10="112.13685862045457" param11="29.695721817634535" />
>
>         <boundsParam bound0="0" bound1="240" bound2="0" 
> bound3="262.53344449978272" bound4="0" bound5="1" />
>
>         <Spacing x="0.958333313465118" y="0.958333313465118" 
> z="6.500000476837157" />
>
>         <Origin x="-112.320826202631" y="112.13685862045457" 
> z="29.695721817634535" />
>
>     </Geometry>
>
> </PlanarFigure>
>
>
>
> naively this was the matrix I tried to use:
>
> array([[   0.95833331,    0.        ,    0.        ,    0.        ],
>
>        [   0.        ,   -0.95833331,    0.        ,    0.        ],
>
>        [   0.        ,    0.        ,   -6.50000048,    0.        ],
>
>        [-112.32082367,  112.13685608,   29.69572258,    1.        ]])
>
>
>
> however this is the matrix that actually works:
>
> array([[   1.        ,    0.        ,    0.        ,    0.        ],
>
>        [   0.        ,   -1.        ,    0.        ,    0.        ],
>
>        [   0.        ,    0.        ,   -1.        ,    0.        ],
>
>        [-112.32082367,  112.13685608,   29.69572258,    1.        ]])
>
>
>
> Is there a more correct way of creating the second matrix other than setting 
> the on diagonal elements to (+1 or-1)? How do I do if the value should be +1 
> or -1?
>
>
>
> Thanks for the help,
>
> Alex
>
>


-- 

*Alex Rothberg**Deep Learning Team Lead*
*Cloud Team Lead*
Hyperfine Research, Inc.
203.641.1475

Come join us <http://www.4catalyzer.com/#opportunities> and put a dent in
the universe.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to