Example #1
0
void GraphicalAxes3D::addCaption(const QString& label, Vector3D pos, Vector3D color)
{
    vtkCaptionActor2DPtr cap = vtkCaptionActor2DPtr::New();
    cap->SetCaption(cstring_cast(label));
    cap->GetCaptionTextProperty()->SetColor(color.begin());
    cap->LeaderOff();
    cap->BorderOff();
    cap->GetCaptionTextProperty()->ShadowOff();
	cap->SetHeight(mFontSize);
	cap->SetVisibility(mActor->GetVisibility());
	mCaption.push_back(cap);
    mCaptionPos.push_back(pos);	
}
void OrientationAnnotationSmartRep::createAnnotation()
{
	if (!mSlicer)
		return;

	Transform3D rMs = mSlicer->get_sMr().inv();

	// update texts
	for (unsigned int i=0; i<mPlaneDirections_s.size(); ++i)
	{
		QString text = this->determineAnnotation(mPlaneDirections_s[i], rMs);
		mOrientation->SetText(i, cstring_cast(text));
	}
}
Example #3
0
IGTLinkUSStatusMessage::Pointer IGTLinkConversion::encode(ProbeDefinitionPtr input)
{
	IGTLinkUSStatusMessage::Pointer retval = IGTLinkUSStatusMessage::New();

	retval->SetOrigin(input->getOrigin_p().data());
	// 1 = sector, 2 = linear
	retval->SetProbeType(input->getType());

	retval->SetDepthStart(input->getDepthStart());// Start of sector in mm from origin
	retval->SetDepthEnd(input->getDepthEnd());	// End of sector in mm from origin
	retval->SetWidth(input->getWidth());// Width of sector in mm for LINEAR, Width of sector in radians for SECTOR.
	retval->SetDeviceName(cstring_cast(input->getUid()));

	return retval;
}
Example #4
0
void ToolUsingIGSTK::createPolyData()
{
	QDir dir;
	if (!mTool->getInternalStructure().mGraphicsFileName.isEmpty()
					&& dir.exists(mTool->getInternalStructure().mGraphicsFileName))
	{
		vtkSTLReaderPtr reader = vtkSTLReaderPtr::New();
		reader->SetFileName(cstring_cast(mTool->getInternalStructure().mGraphicsFileName));
		reader->Update();
		mPolyData = reader->GetOutput();
	}
	else
	{
        mPolyData = Tool::createDefaultPolyDataCone();
	}
}
Example #5
0
void IgstkTool::addLogging()
{
	bool logging = settings()->value("IGSTKDebugLogging", true).toBool();
	if (logging)
	{
		std::ofstream* loggerFile = new std::ofstream();
		QString logFile = mInternalStructure.mLoggingFolderName + "Tool_" + mInternalStructure.mName + "_Logging.txt";
		loggerFile->open(cstring_cast(logFile));
		mLogger = igstk::Logger::New();
		mLogOutput = itk::StdStreamLogOutput::New();
		mLogOutput->SetStream(*loggerFile);
		mLogger->AddLogOutput(mLogOutput);
		mLogger->SetPriorityLevel(itk::Logger::DEBUG);

		mTool->SetLogger(mLogger);
	}
}
Example #6
0
void ToolImpl::createToolGraphic()
{
	QString toolGraphicsFileName = this->getToolFileToolStructure()->mGraphicsFileName;
	QDir dir;
	if (!toolGraphicsFileName.isEmpty()
					&& dir.exists(toolGraphicsFileName))
	{
		vtkSTLReaderPtr reader = vtkSTLReaderPtr::New();
		reader->SetFileName(cstring_cast(toolGraphicsFileName));
		reader->Update();
		mPolyData = reader->GetOutput();
	}
	else
	{
		mPolyData = Tool::createDefaultPolyDataCone();
	}
}
Example #7
0
void CaptionText3D::setText(QString text)
{
	mText->SetCaption(cstring_cast(text));
}
Example #8
0
void FollowerText3D::setText(QString text)
{
	mText->SetText(cstring_cast(text));
}
igtl::ImageMessage::Pointer IGTLinkConversionSonixCXLegacy::encode(ImagePtr image)
{
	vtkImageDataPtr rawImage = image->getBaseVtkImageData();

	int   size[]     = {256, 256, 1};       // image dimension
	rawImage->GetDimensions(size);

	double spacingD[3];
	float spacingF[3];
	rawImage->GetSpacing(spacingD);
	spacingF[0] = spacingD[0];
	spacingF[1] = spacingD[1];
	spacingF[2] = spacingD[2];
	int*   svsize   = size;
	int   svoffset[] = {0, 0, 0};           // sub-volume offset
	int   scalarType = -1;

	if (rawImage->GetNumberOfScalarComponents()==4)
	{
		if (rawImage->GetScalarType()==VTK_UNSIGNED_CHAR)
		{
			scalarType = igtl::ImageMessage::TYPE_UINT32;// scalar type
		}
	}

	if (rawImage->GetNumberOfScalarComponents()==1)
	{
		if (rawImage->GetScalarType()==VTK_UNSIGNED_SHORT)
		{
			scalarType = igtl::ImageMessage::TYPE_UINT16;// scalar type
		}
		else if (rawImage->GetScalarType()==VTK_UNSIGNED_CHAR)
		{
			scalarType = igtl::ImageMessage::TYPE_UINT8;// scalar type
		}
	}

	if (scalarType==-1)
	{
		std::cerr << "Unsupported file type based on vtk " << rawImage->GetScalarTypeAsString() << std::endl;
		return igtl::ImageMessage::Pointer();
	}

	//------------------------------------------------------------
	// Create a new IMAGE type message
	igtl::ImageMessage::Pointer imgMsg = igtl::ImageMessage::New();
	imgMsg->SetDimensions(size);
	imgMsg->SetSpacing(spacingF);
	imgMsg->SetScalarType(scalarType);
	imgMsg->SetDeviceName(cstring_cast(image->getUid()));
	imgMsg->SetSubVolume(svsize, svoffset);
	imgMsg->AllocateScalars();

	IGTLinkConversionBase baseConverter;
	baseConverter.encode_timestamp(image->getAcquisitionTime(), imgMsg);

	int fsize = imgMsg->GetImageSize();
	memcpy(imgMsg->GetScalarPointer(), rawImage->GetScalarPointer(0,0,0), fsize); // not sure if we need to copy

	igtl::Matrix4x4 matrix;
	GetIdentityMatrix(matrix);
	imgMsg->SetMatrix(matrix);

	return imgMsg;
}