Hi Miri,

if you want to create and image out of a surface you can use the 
mitkSurfaceToImageFilter which converts surface data into pixel data.

Regards
Andreas#

On 11.11.2011, at 17:32, 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


------------------------------------------------------------------------------
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