void ViewsFixture::applyParameters(cx::ImagePtr image, const ImageParameters *parameters) { if (!parameters) return; image->getTransferFunctions3D()->setLLR(parameters->llr); image->getTransferFunctions3D()->setAlpha(parameters->alpha); }
void checkImagesEqual(cx::ImagePtr input1, cx::ImagePtr input2) { REQUIRE(input1); REQUIRE(input2); CHECK(input1->getModality() == input2->getModality()); CHECK(cx::similar(input1->getInitialWindowLevel(), input2->getInitialWindowLevel())); CHECK(cx::similar(input1->getInitialWindowWidth(), input2->getInitialWindowWidth())); CHECK(cx::similar(input1->get_rMd(), input2->get_rMd(), 1.0E-2)); checkImagesEqual(input1->getBaseVtkImageData(), input2->getBaseVtkImageData()); }
void checkImages(cx::ImagePtr input, cx::ImagePtr expected) { { INFO(getDim(input) << " == " << getDim(expected)); CHECK(cx::similar(getDim(input), getDim(expected))); } { INFO(input->get_rMd() << "\n == \n" << expected->get_rMd()); CHECK(cx::similar(input->get_rMd(), expected->get_rMd())); } { INFO(getSpacing(input) << " == " << getSpacing(expected)); CHECK(cx::similar(getSpacing(input), getSpacing(expected))); } CHECK(input->getParentSpace() == expected->getParentSpace()); // removed: image is not necessarily black. The size is what matters. //CHECK(cxtest::Utilities::getFractionOfVoxelsAboveThreshold(input->getBaseVtkImageData(), 0) == Approx(0)); }
QString uid = "testImage"; QString filename = cx::DataLocations::getTestDataPath()+"/Phantoms/BoatPhantom/MetaImage/baatFantom.mhd"; //Copied from loadImageFromFile() in cxtestDicomConverter.cpp cx::ImagePtr image = cx::Image::create(uid,uid); cx::MetaImageReader().readInto(image, filename); return image; } } //namespace namespace cxtest { TEST_CASE("Image copy: id copied", "[unit][resource][core]") { cx::ImagePtr image = readTestImage(); cx::ImagePtr imageCopy = image->copy(); REQUIRE(image->getUid() == imageCopy->getUid()); } TEST_CASE("Image copy: vtkImage copied", "[unit][resource][core]") { cx::ImagePtr image = readTestImage(); cx::ImagePtr imageCopy = image->copy(); vtkImageDataPtr vtkImage = image->getBaseVtkImageData(); vtkImageDataPtr vtkImageCopy = imageCopy->getBaseVtkImageData(); REQUIRE(vtkImageCopy); REQUIRE(vtkImage != vtkImageCopy); int* dimsCopy = vtkImageCopy->GetDimensions(); int* dims = vtkImage->GetDimensions();
Eigen::Array3i IGTLinkConversionFixture::getValue3i(cx::ImagePtr data, int x, int y, int z) { vtkImageDataPtr volume = data->getBaseVtkImageData(); unsigned char* ptr = reinterpret_cast<unsigned char*>(volume->GetScalarPointer(x,y,z)); return Eigen::Array3i(ptr[0], ptr[1], ptr[2]); }
int IGTLinkConversionFixture::getValue(cx::ImagePtr data, int x, int y, int z) { vtkImageDataPtr volume = data->getGrayScaleVtkImageData(); int val = (int)*reinterpret_cast<unsigned char*>(volume->GetScalarPointer(x,y,z)); return val; }