瀏覽代碼

Added static member variables for each item of the parameter string.
Added getter and setter for attributes also.

Daniel Knorr 10 年之前
父節點
當前提交
af1644e018

+ 53 - 0
Libs/XNAT/Core/ctkXnatExperiment.cpp

@@ -34,6 +34,11 @@
 
 #include <QDebug>
 
+const QString ctkXnatExperiment::DATE_OF_ACQUISITION = "date";
+const QString ctkXnatExperiment::TIME_OF_ACQUISITION = "time";
+const QString ctkXnatExperiment::SCANNER_TYPE = "scanner";
+const QString ctkXnatExperiment::IMAGE_MODALITY = "modality";
+
 //----------------------------------------------------------------------------
 class ctkXnatExperimentPrivate : public ctkXnatObjectPrivate
 {
@@ -95,6 +100,54 @@ void ctkXnatExperiment::setLabel(const QString &label)
 }
 
 //----------------------------------------------------------------------------
+QString ctkXnatExperiment::dateOfAcquisition() const
+{
+  return this->property(DATE_OF_ACQUISITION);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatExperiment::setDateOfAcquisition(const QString &dateOfAcquisition)
+{
+  this->setProperty(DATE_OF_ACQUISITION, dateOfAcquisition);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatExperiment::timeOfAcquisition() const
+{
+  return this->property(TIME_OF_ACQUISITION);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatExperiment::setTimeOfAcquisition(const QString &timeOfAcquisition)
+{
+  this->setProperty(TIME_OF_ACQUISITION, timeOfAcquisition);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatExperiment::scannerType() const
+{
+  return this->property(SCANNER_TYPE);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatExperiment::setScannerType(const QString &scannerType)
+{
+  this->setProperty(SCANNER_TYPE, scannerType);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatExperiment::imageModality() const
+{
+  return this->property(IMAGE_MODALITY);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatExperiment::setImageModality(const QString &imageModality)
+{
+  this->setProperty(IMAGE_MODALITY, imageModality);
+}
+
+//----------------------------------------------------------------------------
 void ctkXnatExperiment::reset()
 {
   ctkXnatObject::reset();

+ 16 - 0
Libs/XNAT/Core/ctkXnatExperiment.h

@@ -51,9 +51,25 @@ public:
   void setLabel(const QString &label);
   QString label() const;
 
+  QString dateOfAcquisition() const;
+  void setDateOfAcquisition(const QString &dateOfAcquisition);
+
+  QString timeOfAcquisition() const;
+  void setTimeOfAcquisition(const QString &timeOfAcquisition);
+
+  QString scannerType() const;
+  void setScannerType(const QString &scannerType);
+
+  QString imageModality() const;
+  void setImageModality(const QString &imageModality);
 
   void reset();
 
+  static const QString DATE_OF_ACQUISITION;
+  static const QString TIME_OF_ACQUISITION;
+  static const QString SCANNER_TYPE;
+  static const QString IMAGE_MODALITY;
+
 private:
 
   virtual void fetchImpl();

+ 4 - 2
Libs/XNAT/Core/ctkXnatObject.cpp

@@ -35,6 +35,8 @@
 const QString ctkXnatObject::ID = "ID";
 const QString ctkXnatObject::NAME = "name";
 const QString ctkXnatObject::LABEL = "label";
+const QString ctkXnatObject::URI = "URI";
+const QString ctkXnatObject::XSI_SCHEMA_TYPE = "xsiType";
 
 //----------------------------------------------------------------------------
 ctkXnatObject::ctkXnatObject(const ctkXnatObject&)
@@ -263,13 +265,13 @@ bool ctkXnatObject::isFetched() const
 //----------------------------------------------------------------------------
 QString ctkXnatObject::schemaType() const
 {
-  return this->property("xsiType");
+  return this->property(XSI_SCHEMA_TYPE);
 }
 
 //----------------------------------------------------------------------------
 void ctkXnatObject::setSchemaType(const QString& schemaType)
 {
-  this->setProperty("xsiType", schemaType);
+  this->setProperty(XSI_SCHEMA_TYPE, schemaType);
 }
 
 //----------------------------------------------------------------------------

+ 2 - 0
Libs/XNAT/Core/ctkXnatObject.h

@@ -148,6 +148,8 @@ public:
   static const QString ID;
   static const QString NAME;
   static const QString LABEL;
+  static const QString URI;
+  static const QString XSI_SCHEMA_TYPE;
 
 protected:
 

+ 13 - 1
Libs/XNAT/Core/ctkXnatProject.cpp

@@ -150,7 +150,19 @@ void ctkXnatProject::fetchImpl()
   QString subjectsUri = this->resourceUri() + "/subjects";
   ctkXnatSession* const session = this->session();
   QMap<QString, QString> paramMap;
-  paramMap.insert("columns", "ID,project,label,insert_date,insert_user,URI,dob,gender,handedness,weight,height");
+  QString arglist = QString("%1,%2,%3,%4,%5,%6,%7,%8,%9,%10,%11")
+    .arg(ctkXnatObject::ID)
+    .arg(ctkXnatObject::LABEL)
+    .arg(ctkXnatObject::URI)
+    .arg(ctkXnatSubject::INSERT_DATE)
+    .arg(ctkXnatSubject::INSERT_USER)
+    .arg(ctkXnatSubject::DATE_OF_BIRTH)
+    .arg(ctkXnatSubject::PROJECT_ID)
+    .arg(ctkXnatSubject::GENDER)
+    .arg(ctkXnatSubject::HANDEDNESS)
+    .arg(ctkXnatSubject::WEIGHT)
+    .arg(ctkXnatSubject::HEIGHT);
+  paramMap.insert("columns", arglist);
   QUuid queryId = session->httpGet(subjectsUri, paramMap);
   QList<ctkXnatObject*> subjects = session->httpResults(queryId,
                                                         ctkXnatDefaultSchemaTypes::XSI_SUBJECT);

+ 90 - 1
Libs/XNAT/Core/ctkXnatSubject.cpp

@@ -29,6 +29,12 @@
 
 #include <QDebug>
 
+const QString ctkXnatSubject::PROJECT_ID = "project";
+const QString ctkXnatSubject::DATE_OF_BIRTH = "dob";
+const QString ctkXnatSubject::GENDER = "gender";
+const QString ctkXnatSubject::HANDEDNESS = "handedness";
+const QString ctkXnatSubject::WEIGHT = "weight";
+const QString ctkXnatSubject::HEIGHT = "height";
 const QString ctkXnatSubject::INSERT_DATE = "insert_date";
 const QString ctkXnatSubject::INSERT_USER = "insert_user";
 
@@ -122,6 +128,78 @@ void ctkXnatSubject::setInsertUser(const QString& insertUser)
 }
 
 //----------------------------------------------------------------------------
+QString ctkXnatSubject::projectID() const
+{
+  return this->property(PROJECT_ID);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatSubject::setProjectID(const QString &projectID)
+{
+  this->setProperty(PROJECT_ID, projectID);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatSubject::dateOfBirth() const
+{
+  return this->property(DATE_OF_BIRTH);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatSubject::setDateOfBirth(const QString &dateOfBirth)
+{
+  this->setProperty(DATE_OF_BIRTH, dateOfBirth);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatSubject::gender() const
+{
+  return this->property(GENDER);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatSubject::setGender(const QString &gender)
+{
+  this->setProperty(GENDER, gender);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatSubject::handedness() const
+{
+  return this->property(HANDEDNESS);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatSubject::setHandedness(const QString &handedness)
+{
+  this->setProperty(HANDEDNESS, handedness);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatSubject::height() const
+{
+  return this->property(HEIGHT);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatSubject::setHeight(const QString &height)
+{
+  this->setProperty(HEIGHT, height);
+}
+
+//----------------------------------------------------------------------------
+QString ctkXnatSubject::weight() const
+{
+  return this->property(WEIGHT);
+}
+
+//----------------------------------------------------------------------------
+void ctkXnatSubject::setWeight(const QString &weight)
+{
+  this->setProperty(WEIGHT, weight);
+}
+
+//----------------------------------------------------------------------------
 QString ctkXnatSubject::resourceUri() const
 {
   return QString("%1/subjects/%2").arg(parent()->resourceUri(), this->id());
@@ -140,7 +218,18 @@ void ctkXnatSubject::fetchImpl()
   QString experimentsUri = this->resourceUri() + "/experiments";
   ctkXnatSession* const session = this->session();
   QMap<QString, QString> paramMap;
-  paramMap.insert("columns", "xnat:subjectassessordata/id,session_ID,ID,project,xsiType,label,insert_date,URI,date,time,scanner,modality");
+  QString arglist = QString("%1,%2,%3,%4,%5,%6,%7,%8,%9,%10")
+    .arg(ctkXnatObject::ID)
+    .arg(ctkXnatObject::LABEL)
+    .arg(ctkXnatObject::XSI_SCHEMA_TYPE)
+    .arg(INSERT_DATE)
+    .arg(INSERT_USER)
+    .arg(ctkXnatObject::URI)
+    .arg(ctkXnatExperiment::DATE_OF_ACQUISITION)
+    .arg(ctkXnatExperiment::TIME_OF_ACQUISITION)
+    .arg(ctkXnatExperiment::SCANNER_TYPE)
+    .arg(ctkXnatExperiment::IMAGE_MODALITY);
+  paramMap.insert("columns", arglist);
   QUuid queryId = session->httpGet(experimentsUri, paramMap);
   QList<ctkXnatObject*> experiments = session->httpResults(queryId,
                                                            ctkXnatDefaultSchemaTypes::XSI_EXPERIMENT);

+ 24 - 0
Libs/XNAT/Core/ctkXnatSubject.h

@@ -63,10 +63,34 @@ public:
   /// @warning does not overwrite the insert user on the server, since this is read only
   void setInsertUser(const QString& insertUser);
 
+  QString projectID() const;
+  void setProjectID(const QString& projectID);
+
+  QString dateOfBirth() const;
+  void setDateOfBirth(const QString& dateOfBirth);
+
+  QString gender() const;
+  void setGender(const QString& gender);
+
+  QString handedness() const;
+  void setHandedness(const QString& handedness);
+
+  QString weight() const;
+  void setWeight(const QString& weight);
+
+  QString height() const;
+  void setHeight(const QString& height);
+
   virtual QString resourceUri() const;
 
   void reset();
 
+  static const QString PROJECT_ID;
+  static const QString DATE_OF_BIRTH;
+  static const QString GENDER;
+  static const QString HANDEDNESS;
+  static const QString WEIGHT;
+  static const QString HEIGHT;
   static const QString INSERT_DATE;
   static const QString INSERT_USER;