2323#include " rapidjson/stringbuffer.h"
2424#include " rapidjson/writer.h"
2525
26+ #include " gdcmIPPSorter.h"
27+
2628int main (int argc, char *argv[])
2729{
2830 itk::wasm::Pipeline pipeline (" image-sets-normalization" , " Group DICOM files into image sets" , argc, argv);
@@ -35,13 +37,26 @@ int main(int argc, char *argv[])
3537
3638 ITK_WASM_PARSE (pipeline);
3739
40+ gdcm::IPPSorter ipps;
41+
42+ ipps.SetComputeZSpacing (true );
43+ bool success = ipps.Sort (files);
44+ std::cout << " success: " << success << std::endl;
45+
46+ std::vector<std::string> sortedFileNames = ipps.GetFilenames ();
47+
3848 rapidjson::Document imageSetsJson;
39- imageSetsJson.SetObject ();
4049 rapidjson::Document::AllocatorType &allocator = imageSetsJson.GetAllocator ();
50+ imageSetsJson.SetObject ();
51+
52+ rapidjson::Value sortedFileNameArray (rapidjson::kArrayType );
53+ for (const std::string& fileName : sortedFileNames) {
54+ rapidjson::Value fileNameValue;
55+ fileNameValue.SetString (fileName.c_str (), fileName.size (), allocator);
56+ sortedFileNameArray.PushBack (fileNameValue, allocator);
57+ }
4158
42- rapidjson::Value almostEqualValue;
43- almostEqualValue.SetBool (false );
44- imageSetsJson.AddMember (" " , almostEqualValue, allocator);
59+ imageSetsJson.AddMember (" sortedFileNames" , sortedFileNameArray, allocator);
4560
4661 rapidjson::StringBuffer stringBuffer;
4762 rapidjson::Writer<rapidjson::StringBuffer> writer (stringBuffer);
0 commit comments