For your first question:

you have not set the input image of your filter by SetInput(...)

Miklos

On Fri, Nov 11, 2011 at 5:32 PM, Miri Trope <[email protected]> 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]> 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]> 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]> 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]> 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]
>>>>> 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