Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. package vsdClientSeed
  2.  
  3. import java.io.File
  4. import ch.unibas.cs.gravis.vsdclient.{VSDCommonObjectInfo, VSDClient}
  5. import ch.unibas.cs.gravis.vsdclient.VSDJson._
  6. import scala.concurrent.Future
  7.  
  8.  
  9. object VSDLegStatus {
  10.  
  11. def main(args: Array[String]): Unit = {
  12.  
  13. implicit val ctxt = scala.concurrent.ExecutionContext.global
  14.  
  15. val vsd = VSDClient(new File("/home/bouabene/vsdcreds.txt")).get
  16.  
  17. val segmentationInfos = for {
  18.  
  19. segFolder <- vsd.getFolderFromPath("/bouag1/SharedFolders/SSMPipeline/Lower_Extremities/02_AutomaticSegmentation")
  20. objList = segFolder.get.containedObjects.get
  21. segmentationAnatomicalSides <- Future.sequence(objList.map { url => vsd.getAnatomicalSide(url) })
  22. segmentationsInfos <- Future.sequence(objList.map { url => vsd.getVSDObjectInfo[VSDCommonObjectInfo](url) })
  23. linkedRawObject = segmentationsInfos.map(_.linkedObjects.get.items.head)
  24. rawInfos <- Future.sequence(linkedRawObject.map { url => vsd.getVSDObjectInfo[VSDCommonObjectInfo](url) })
  25.  
  26. } yield (objList, segmentationAnatomicalSides.map(_.get), rawInfos).zipped.toList
  27.  
  28.  
  29.  
  30. segmentationInfos.onSuccess { case list =>
  31. println("[Description of associated Raw image], [Anatomical side of segmentation], [Name of associated Raw Image], [URL of segmentation]")
  32. list.foreach{ case (segURL, side, rawInfo) =>
  33. println( rawInfo.description.get +", " + side + ", " + rawInfo.name + ", " + segURL.selfUrl )
  34. }
  35. vsd.shutdown()
  36. }
  37. segmentationInfos.onFailure { case e => println("failed : " + e.getMessage); vsd.shutdown() }
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement