File: TestJSON1.cxx

package info (click to toggle)
gdcm 3.0.24-5
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 27,560 kB
  • sloc: cpp: 203,722; ansic: 76,471; xml: 48,131; python: 3,473; cs: 2,308; java: 1,629; lex: 1,290; sh: 334; php: 128; makefile: 97
file content (55 lines) | stat: -rw-r--r-- 1,694 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*=========================================================================

  Program: GDCM (Grassroots DICOM). A DICOM library

  Copyright (c) 2006-2011 Mathieu Malaterre
  All rights reserved.
  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
#include "gdcmJSON.h"
#include "gdcmFilename.h"
#include "gdcmTesting.h"
#include "gdcmDataSet.h"
#include "gdcmWriter.h"
#include "gdcmFile.h"

int TestJSON1(int, char *[])
{
  //std::string sup166 = gdcm::Filename::Join(gdcm::Testing::GetSourceDirectory(), "/Testing/Source/Data/QIDO-RS_examplesup166.json" );
  std::string sup166 = gdcm::Filename::Join(gdcm::Testing::GetSourceDirectory(), "/Testing/Source/Data/QIDO-RS_examplesup166_2.json" );
  if( !gdcm::System::FileExists( sup166.c_str() ) )
    {
    std::cerr << sup166 << std::endl;
    return 1;
    }

  std::ifstream is( sup166.c_str() );
  gdcm::JSON json;
  json.PrettyPrintOn();

#if 1
  gdcm::DataSet ds;
  json.Decode(is, ds );
  //std::cout << ds << std::endl;
#else
  gdcm::Writer w;
  gdcm::File & ff = w.GetFile();
  gdcm::DataSet &ds = ff.GetDataSet();
  ff.GetHeader().SetDataSetTransferSyntax( gdcm::TransferSyntax::ExplicitVRLittleEndian );
  json.Decode(is, ff.GetDataSet() );
  w.SetFileName( "/tmp/debug2.dcm" );
  if( !w.Write() ) return 1;
#endif

  std::stringstream ss;
  json.Code(ds, ss );

  std::cout << ss.str() << std::endl;

  return 0;
}