1198
1199
UnLock("CrearMapaValoracion");
1202
void GNC::GCS::IContextoEstudio::CrearMapaValoracionChar(vtkSmartPointer<vtkImageData>& pMapa, GnkPtr<GIL::DICOM::TipoPrivateTags> pTagsPrivados, const unsigned char tag, const int indice, char valorInicial)
1204
Lock("CrearMapaValoracion");
1206
if (pMapa == NULL) {
1207
pMapa = vtkSmartPointer<vtkImageData>::New();
1209
double spacing[3] = {1.0f,1.0f,1.0f};
1210
double origin[3] = {0.0f,0.0f,0.0f};
1211
int dimensions[3] = {0.0f,0.0f,0.0f};
1212
GetSpacing(indice,spacing[0],spacing[1],spacing[2]);
1213
GetOrigin(indice,origin[0],origin[1],origin[2]);
1214
GetDimensionsImagen(indice,dimensions[0],dimensions[1], dimensions[2]);
1216
//se inicializan valores de dimensions, scalartype...
1217
pMapa->SetDimensions(dimensions[0],dimensions[1],1);
1218
pMapa->SetScalarTypeToChar();
1219
pMapa->SetNumberOfScalarComponents(1);
1220
pMapa->SetSpacing(spacing[0],spacing[1],spacing[2]);
1221
pMapa->SetOrigin(origin[0],origin[1],origin[2]);
1223
GIL::DICOM::TagPrivadoUndefined* pTagPrivado = pTagsPrivados->GetTagUndefined(tag);
1224
if(pTagPrivado == NULL) {
1225
const unsigned int size = dimensions[0] * dimensions[1];
1226
pTagPrivado = pTagsPrivados->NewTagUndefined(tag,size);
1228
const char* fin = size + (char*)pTagPrivado->GetValor();
1229
for( char* pData = (char*)pTagPrivado->GetValor(); pData < fin; ++pData)
1231
(*pData) = valorInicial;
1235
vtkSmartPointer<vtkCharArray> dataImagen = vtkSmartPointer<vtkCharArray>::New();
1236
dataImagen->SetNumberOfComponents(1);
1237
unsigned int size = pMapa->GetDimensions()[0] * pMapa->GetDimensions()[1];
1238
dataImagen->SetArray((char*)pTagPrivado->GetValor(),size,1);
1240
pMapa->GetPointData()->SetScalars(dataImagen);
1242
UnLock("CrearMapaValoracion");
1201
1245
GNC::GCS::IContextoEstudioReferido::IContextoEstudioReferido()
1203
1247
GTRACE(">> IContextoEstudio::IContextoEstudioReferido() " << this);