MITK-US currently only allows acquisition and processing of one mitk::Image. For applications such as photoacoustics or doppler imaging, usually two images of the same dimension are acquired, the first being the conventional US image, the second the specific (e.g., PA, doppler) image.
As [[ https://phabricator.mitk.org/source/mitk/browse/master/Modules/US/USFilters/mitkUSImageSource.cpp | mitk::USImageSource]] is not implemented as the source of an [[ http://docs.mitk.org/nightly/PipelineingConceptPage.html | MITK image pipeline ]] due to performance reasons (see {F964615}).
To overcome this issue, a possible solution that integrates nicely into the current structure of MITK-US is the following (see {F964619}):
- In [[ https://phabricator.mitk.org/source/mitk/browse/master/Modules/US/USFilters/mitkUSImageSource.cpp | mitk::USImageSource ]] and its respective subclasses the mitk::Image that is returned by GetNextImage() and used as parameter in GetNextRawImage() should be replaced by a vector of images (std::vector<mitk::Image::Pointer>)
- In [[ https://phabricator.mitk.org/source/mitk/browse/master/Modules/US/USModel/mitkUSDevice.cpp | mitk::USDevice ]] and its respective subclasses the m_Image member should also be replaced by a vector of images and be transferred into the outputs of the class, which is, in this case, the source of an MITK filter pipeline that can have more than one output.
- For application within the [[ https://phabricator.mitk.org/source/mitk/browse/master/Modules/US/USHardwareDiPhAS/mitkUSDiPhASImageSource.cpp | mitk::USDiPhasUSImageSource ]], the acquired data should be stored in two separate mitk::Images that will then be passed on as a vector of images.