mitk::Surface objects can be visualized directly in MITK, just like any other mitk::BaseData subclass. Just put it in a mitk::DataNode and add it to your mitk::DataStorage.

On 11/11/2011 05:32 PM, Miri Trope wrote:
Hi Miklos,

My Exception is:
"..\..\..\CMakeExternals\Source\ITK\Code\Common\itkProcessObject.cxx:981:
itk::ERROR: myModule:(18F41FB8): At least 1 inputs are required but only 0 are specified"

In the output from Debug of visual studio:
ERROR: In //\//\CMakeExternals\Source\VTK\Rendering\vtkPolyDataMapper.cxx, line 60 vtkPaintPolyDataMapper (18F4D168) : Mapper has no input

ERROR: In //\//\CMakeExternals\Source\VTK\Rendering\vtkOpenGLTexture.cxx, line 196 vtkOpenGLTexture (188432F0): No scalar value found for texture input!

what might be the reason for that run time error?

* another conversion question which can save my time: I have a pointer to a mitk::surface data and would like to view that surface on mitk. I might need to convert that surface to an mitk::image. how should I do this?


Thanks,
Miri
On Thu, Nov 10, 2011 at 11:48 AM, Miklos Espak <[email protected] <mailto:[email protected]>> wrote:

    Hi Miri,

    in your original e-mail there was this line:

     itk::Image < ImageType > ::Pointer    itkImage_1;

    now there is these lines:


     typedef    unsigned short        InputPixelType;
     typedef     itk::Image < InputPixelType,    3 >    InputImageType;
     itk::Image< InputPixelType, 3>::Pointer itkImage_1;

    These are different. In the first case you have a 2D image, in the
    second case 3D.

    If the exception is thrown by the Update() function, it means that
    it is thrown by the filter's GenerateData function (or from its
    call chain). So, I still think that there is a type mismatch
    during the cast.

    I suggest to put the Update call into an exception handler, catch
    itk::ExceptionObject, and print its message. (As I remember, it is
    the what() function that tells it to you.)

    Best,
    Miklos

    On Thu, Nov 10, 2011 at 9:35 AM, Miri Trope <[email protected]
    <mailto:[email protected]>> wrote:

        Thank you for tying to help me.

        Casting to the exact input image type is what I tryied to
        implement (after checking it with the debugger).
        Actually, I ran it again with these commands, but received the
        mentioned error.

         typedef    unsigned short        InputPixelType;
typedef itk::Image < InputPixelType, 3 > InputImageType;
         itk::Image< InputPixelType, 3>::Pointer itkImage_1;

        - I'd like to mention again that the error accepted in the
        following command:
         myModulePointer->Update(); // a command at the file:
        MyPlugInView.cpp
        - My application was generated by the CTK's generator and I
        just changed that application in order to get a multiple
        number of input images (instead of one input image, as the
        generator implemented).


        On Wed, Nov 9, 2011 at 10:42 PM, Miklos Espak
        <[email protected] <mailto:[email protected]>> wrote:

            Hi,

            are these 2D images?

            The itk::Image template class expects two parameters, the
            pixel type and the dimension. For the dimension there is a
            default value that is 2. That's why your code does not
            cause compile error.

            However, you must cast the mitk::Image into exactly the
            same kind of itk::Image. If you have a 3D mitk::Image, you
            cannot cast it into a 2D itk image. Even the pixel types
            must be the same.

            In your code:
              itk::Image < ImageType > ::Pointer    itkImage_1;

            The ImageType name is rather misleading, since a primitive
            type should be there, typically.

            Best,
            Miklos

            On Wed, Nov 9, 2011 at 8:41 PM, Miri Trope
            <[email protected] <mailto:[email protected]>> wrote:

                Hi everyone,

                I manipulated the ability to select and manipulate
                four 3D input images from a known type (all of them
                have the same type). I mean that the user has to pick
                four images on mitk platform and run my module.
                But it returns a run-time error which described below.
                That run time returned after the command:
                myModulePointer->Update();

                In addition below is my code, please help me to figure
                it out. It's just my first time to manipulate things
                like that ...

                run time error
                ==========
                Unhandled exception at 0x7d4e237e in MyApp.exe:
                Microsoft C++ exception: itk::ExceptionObject at
                memory location 0x00d9b640..
                First-chance exception at 0x7d4e237e in MyApp.exe:
                Microsoft C++ exception: [rethrow] at memory location
                0x00000000..
                ==========

                MyPlugInView.cpp
                -----------------
                void MyPlugInView::DoImageProcessing()
                {
                  std::vector<mitk::DataNode*> nodes =
                this->GetDataManagerSelection();
                  myModule::Pointer myModulePointer = myModule::New();

                  while(!nodes.empty()) // set the input images to
                const member pointers of class MyModule
                  {
                    mitk::DataNode* node = nodes.back();
                    nodes.pop_back();
                    mitk::BaseData* data = node->GetData();
                    mitk::Image* image = dynamic_cast<mitk::Image*>(
                data );

                    // I did the next assignment for each image by
                switching an index in [N=1:numOfImages]
                   // these assignments really work! each command
                assigns the input image to her member pointer
                    myModulePointer->SetinputImage_N(image);
                    ...
                  }
                    myModulePointer->Update();// here I get the run
                time error
                }

                MyModule.h
                -------------
                class MyModuleLib_EXPORT MyModule : public
                mitk::ImageToImageFilter
                {
                public:
                  void MyFunction( mitk::Image::Pointer outputImage );
                  // pointers to mitk selected input images
                  mitk::Image::ConstPointer m_inputImage_1;
                  mitk::Image::ConstPointer m_inputImage_2;
                  mitk::Image::ConstPointer m_inputImage_3;
                  mitk::Image::ConstPointer m_inputImage_4;

                  void GenerateData();

                protected:
                  MyModule();
                  ~MyModule();
                };

                MyModule.cpp
                ------------
                void MyModule::MyFunction( mitk::Image::Pointer
                outputImage )
                {
                  itk::Image < ImageType > ::Pointer    itkImage_1;
                  mitk::CastToItkImage(m_inputImage_1, itkImage_1); //
                in order to get rid of the const pointer of mitk input
                image
                  mitk::CastToMitkImage(itkImage_1, outputImage); //
                in order to view my result
                }

                MyModule::MyModule():
                
m_inputImage_1(0),m_inputImage_2(0),m_inputImage_3(0),m_inputImage_4(0)
                {
                  this->SetNumberOfInputs(4); // four selected inputImages
                }

                MyModule::~MyModule()
                {
                }

                void MyModule::GenerateData()
                {
                    mitk::Image::Pointer outputImage = this->GetOutput();
                    MyFunction( outputImage );
                }







                
------------------------------------------------------------------------------
                RSA(R) Conference 2012
                Save $700 by Nov 18
                Register now
                http://p.sf.net/sfu/rsa-sfdev2dev1
                _______________________________________________
                mitk-users mailing list
                [email protected]
                <mailto:[email protected]>
                https://lists.sourceforge.net/lists/listinfo/mitk-users






------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to