- dcmdir = new gdcm::DicomDir( );
- dcmdir->SetParseDir(true);
- dcmdir->SetLoadMode(NO_SEQ | NO_SHADOW);
- dcmdir->Load(dirName);
-
- dcmdir->SetStartMethod(StartMethod, (void *) NULL);
- dcmdir->SetEndMethod(EndMethod);
-
+ dcmdir = gdcm::DicomDir::New( );
+
+ gdcm::Command *cmd;
+ cmd = CommandStart::New();
+ gdcm::CommandManager::SetCommand(dcmdir,gdcm::CMD_STARTPROGRESS,cmd);
+ cmd->Delete();
+ cmd = CommandProgress::New();
+ gdcm::CommandManager::SetCommand(dcmdir,gdcm::CMD_PROGRESS,cmd);
+ cmd->Delete();
+ cmd = CommandEnd::New();
+ gdcm::CommandManager::SetCommand(dcmdir,gdcm::CMD_ENDPROGRESS,cmd);
+ cmd->Delete();
+
+ // dcmdir->SetLoadMode(gdcm::LD_NOSEQ | gdcm::LD_NOSHADOW);
+ // some images have a wrong length for element 0x0000 of private groups
+ dcmdir->SetLoadMode(gdcm::LD_NOSEQ);
+ dcmdir->SetDirectoryName(dirName);
+ dcmdir->Load();
+