Hi guys,
Sorry for the late answer. I am using the 2014.10.0 release of MITK do
you think the bug is present in this version? Do you think is better to
work directly on the master branch?
I unfortunately didn't recieve any attachment, is it possible for you to
send it to me?
The code of my reader is the following (sorry if I didn't share it before):
mitk::DataNode::Pointer MyMITKDICOMReader::readPhilips3D(const char
*filename){
//intance of the DICOM reader
mitk::DicomSeriesReader reader = mitk::DicomSeriesReader();
//check if the file is a Philips 3D DICOM
if (!reader.IsPhilips3DDicom(filename)){
MITK_DEBUG << "THE FILE : " << filename << "IS NOT A PHILIPS 3D
DICOM ! ";
return NULL;
}
mitk::StringList files = mitk::StringList();
files.push_back(filename);
UpdateCallBackMethod callback = false;
mitk::Image::Pointer preLoadedImageBlock;
return reader.LoadDicomSeries(files, true, true, false, callback,
preLoadedImageBlock);
}
Thanks for whole the help.
Best,
Yari
Il 03.06.2015 14:55, Eisenmann, Matthias ha scritto:
> Hi Yari,
>
> we had a further look at it. Since you did not provide the complete code
> (your own DICOM reader is missing), we adapted the MITK Tutorial Step 3
> Application (see attachment). We added the ImageTimeSelector to be compatible
> with your code snippet. We could not reproduce the crash.
>
> Are you working with the current master branch?
> There were some problems reading 4D-DICOM data in MITK due to an ITK update
> some months ago (http://bugs.mitk.org/show_bug.cgi?id=18887). But that seems
> to be fixed.
>
> Can you provide your complete cpp file and your data set if updating your
> code base does not help?
>
> Best,
> Matthias and Thomas
>
> -----Ursprüngliche Nachricht-----
> Von: yari mattei [mailto:[email protected]]
> Gesendet: Donnerstag, 28. Mai 2015 15:38
> An: [email protected]
> Betreff: Re: [mitk-users] Read different volume
>
> Hi guys,
>
> thanks a lot, what are you saying i totally right, after the update the data
> are loaded. But when I am trinyg to display the image the application crash.
>
> The code I wrote is the following :
>
> // Create a QApplication instance first
> QApplication eco3DApp(argc, argv);
> eco3DApp.setApplicationName("Eco 3D");
>
> QmitkRegisterClasses();
>
> mitk::StandaloneDataStorage::Pointer ds =
> mitk::StandaloneDataStorage::New();
>
> MyMITKDICOMReader myReader = MyMITKDICOMReader();
>
> mitk::DataNode::Pointer node = myReader.readPhilips3D("filePath");
>
> //ds->Add(node);
> mitk::Image::Pointer image =
> dynamic_cast<mitk::Image*>(node->GetData());
>
> //take a time
> mitk::ImageTimeSelector::Pointer timeSelector =
> mitk::ImageTimeSelector::New();
>
> int timeStep = 1;
>
> timeSelector->SetInput( image );
> timeSelector->SetTimeNr( timeStep );
> timeSelector->Update();
> //timeSelector->UpdateLargestPossibleRegion();
>
>
> mitk::Image::Pointer timeStepImage = timeSelector->GetOutput();
>
> mitk::DataNode::Pointer stepImageNode = mitk::DataNode::New();
>
> stepImageNode->SetData(timeStepImage);
> stepImageNode->Update();
> ds->Add(stepImageNode);
>
> QmitkRenderWindow renderWindow;
>
> // Tell the RenderWindow which (part of) the datastorage to render
> renderWindow.GetRenderer()->SetDataStorage(ds);
>
> // Initialize the RenderWindow
> mitk::TimeGeometry::Pointer geo =
> ds->ComputeBoundingGeometry3D(ds->GetAll());
> mitk::RenderingManager::GetInstance()->InitializeViews(geo);
>
> renderWindow.show();
> renderWindow.resize(400, 400); //256, 256 original
> renderWindow.move(QPoint(500, 100));
>
> return eco3DApp.exec();
>
> When I launch it, it crash after the eco3DApp.exec() call, with this error
>
> Unhandled exception at 0x020B55DA (MitkCore.dll) in AwesomeApp.exe:
> 0xC0000005: Access violation reading location 0x00000000.
>
> exactely in :
>
> >
> MitkCore.dll!mitk::ImageDataItem::ConstructVtkImageData(itk::SmartPointer<mitk::Image
> const > iP) Line 234 C++
>
> line 254 is :
>
> const mitk::Vector3D vspacing = geom3d->GetSpacing();
>
> Thanks for the help.
>
> Cheers
> Yari
>
>
> Il 28.05.2015 10:12, Eisenmann, Matthias ha scritto:
>> Hi Yari,
>>
>> we had a look at your problem during our bug squashing session. We can
>> reproduce the situation you described: After loading a 3D+t image only the
>> first volume is initialized.
>>
>> Are you just wondering why this is the case or does your application crash?
>>
>> In our cases this is not a problem. The other volumes are initialized 'on
>> demand' after calling the Update() method of ImageTimeSelector for a
>> specific time step.
>>
>> Let us give you a pointer to a working example: The binary threshold tool of
>> the segmentation plugin.
>> In method mitk::BinaryThresholdTool::CreateNewSegmentationFromThreshold(...)
>> each volume of a time series is processed.
>>
>> Best,
>> Matthias and Thomas
>>
>> -----Ursprüngliche Nachricht-----
>> Von: yari mattei [mailto:[email protected]]
>> Gesendet: Montag, 18. Mai 2015 14:32
>> An: [email protected]
>> Betreff: [mitk-users] Read different volume
>>
>> Hi everybody,
>>
>> I manage to open a Philips3D DICOM (with mithDicomSeriesReader) and I get a
>> DataNode.
>>
>> I would like to show the 9 different time step contained in the DICOM file
>> so I tried to get an image from the node with:
>>
>> mitk::Image::Pointer image =
>> dynamic_cast<mitk::Image*>(node->GetData());
>>
>> And to select the volume with:
>>
>> mitk::ImageTimeSelector::Pointer time =
>> mitk::ImageTimeSelector::New();
>>
>> time->SetInput(image);
>> time->SetTimeNr(1);
>> time->Update();
>>
>> mitk::Image::Pointer image4 = time->GetOutput();
>>
>>
>> mitk::StandaloneDataStorage::Pointer ds4 =
>> mitk::StandaloneDataStorage::New();
>> mitk::DataNode::Pointer node4 = mitk::DataNode::New();
>>
>> node4->SetData(image4);
>>
>> ds4->Add(node4);
>>
>> This works only if I set the TimeNr to 0. I check with the debugger the
>> value of the image and I see that there are 9 different volume but only the
>> first one has values inside (the others are NULL).
>> This is part of the dump of the debugger :
>> - image {m_Pointer=0x164978e0 {m_Channels={ size=1 }
>> m_Volumes={ size=9 } m_Slices={ size=1872 } ...} }
>> itk::SmartPointer<mitk::Image>
>> - m_Pointer 0x164978e0 {m_Channels={ size=1 } m_Volumes={
>> size=9 } m_Slices={ size=1872 } ...} mitk::Image *
>> + [mitk::Image] {m_Channels={ size=1 } m_Volumes={
>> size=9 } m_Slices={ size=1872 } ...} MitkCore.dll!mitk::Image
>> + mitk::SlicedData
>> {m_LargestPossibleRegion={m_Index={m_Index=0x16497984 {0, 0, 0, 0, 0}
>> }
>> m_Size={m_Size=0x16497998 {224, ...} } } ...} mitk::SlicedData
>> + m_Channels { size=1 }
>> std::vector<itk::SmartPointer<mitk::ImageDataItem>,std::allocator<itk::SmartPointer<mitk::ImageDataItem>
>> > >
>> - m_Volumes { size=9 }
>> std::vector<itk::SmartPointer<mitk::ImageDataItem>,std::allocator<itk::SmartPointer<mitk::ImageDataItem>
>> > >
>> [size] 9 int
>> [capacity] 9 int
>> + [0] {m_Pointer=0x1641ba88 {m_Data=0x235b0040
>> "" m_PixelType=0x164af8a8 {m_ComponentType=1 m_PixelType=SCALAR (1) ...}
>> ...} } itk::SmartPointer<mitk::ImageDataItem>
>> + [1] {m_Pointer=0x00000000 <NULL> }
>> itk::SmartPointer<mitk::ImageDataItem>
>> + [2] {m_Pointer=0x00000000 <NULL> }
>> itk::SmartPointer<mitk::ImageDataItem>
>> + [3] {m_Pointer=0x00000000 <NULL> }
>> itk::SmartPointer<mitk::ImageDataItem>
>> .......
>>
>>
>> Does anyone have any idea of what cause di problem?
>>
>> Thanks in advance
>>
>> Yari
>>
>> ----------------------------------------------------------------------
>> -------- 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
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mitk-users
>
> ------------------------------------------------------------------------------
> _______________________________________________
> mitk-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mitk-users
------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users