Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
#include <mitkSourceImageRelationRule.h>
Public Types | |
typedef SourceImageRelationRule | Self |
typedef PropertyRelationRuleBase | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
using | RuleIDType = PropertyRelationRuleBase::RuleIDType |
using | RelationUIDType = PropertyRelationRuleBase::RelationUIDType |
using | RelationUIDVectorType = PropertyRelationRuleBase::RelationUIDVectorType |
![]() | |
enum | RelationType { RelationType::None, RelationType::Implicit_Data, RelationType::Connected_Data, RelationType::Connected_ID } |
typedef PropertyRelationRuleBase | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
using | RuleIDType = std::string |
using | RelationUIDType = Identifiable::UIDType |
using | RelationUIDVectorType = std::vector< RelationUIDType > |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
static Pointer | New (const RuleIDType &_arg) |
static Pointer | New (const RuleIDType &_arga, const std::string &_argb) |
static Pointer | New (const RuleIDType &_arga, const std::string &_argb, const std::string &_argc, const std::string &_argd) |
![]() | |
static const char * | GetStaticNameOfClass () |
static PropertyKeyPath | GetRootKeyPath () |
Protected Types | |
using | InstanceIDType = PropertyRelationRuleBase::InstanceIDType |
using | InstanceIDVectorType = PropertyRelationRuleBase::InstanceIDVectorType |
![]() | |
using | InstanceIDType = std::string |
using | InstanceIDVectorType = std::vector< InstanceIDType > |
Protected Member Functions | |
SourceImageRelationRule () | |
SourceImageRelationRule (const RuleIDType &purposeTag) | |
SourceImageRelationRule (const RuleIDType &purposeTag, const std::string &displayName) | |
SourceImageRelationRule (const RuleIDType &purposeTag, const std::string &displayName, const std::string &sourceRole, const std::string &destinationRole) | |
~SourceImageRelationRule () override=default | |
std::vector< std::string > | GetReferenceSequenceIndices (const IPropertyProvider *source, const IPropertyProvider *destination=nullptr) const |
InstanceIDVectorType | GetInstanceID_datalayer (const IPropertyProvider *source, const IPropertyProvider *destination) const override |
bool | HasImplicitDataRelation (const IPropertyProvider *source, const IPropertyProvider *destination) const override |
void | Connect_datalayer (IPropertyOwner *source, const IPropertyProvider *destination, const InstanceIDType &instanceID) const override |
void | Disconnect_datalayer (IPropertyOwner *source, const InstanceIDType &instanceID) const override |
bool | IsSupportedRuleID (const RuleIDType &ruleID) const override |
itk::LightObject::Pointer | InternalClone () const override |
PropertyKeyPath::ItemSelectionIndex | CreateNewSourceImageSequenceItem (IPropertyOwner *source) const |
![]() | |
PropertyRelationRuleBase ()=default | |
~PropertyRelationRuleBase () override=default | |
InstanceIDVectorType | GetInstanceID_IDLayer (const IPropertyProvider *source, const IPropertyProvider *destination) const |
RelationUIDType | GetRelationUIDByInstanceID (const IPropertyProvider *source, const InstanceIDType &instanceID) const |
InstanceIDType | GetInstanceIDByRelationUID (const IPropertyProvider *source, const RelationUIDType &relationUID) const |
RelationUIDType | Connect (IPropertyOwner *source, const IPropertyProvider *destination) const |
std::string | GetRIIPropertyRegEx (const std::string propName="", const InstanceIDType &instanceID="") const |
RuleIDType | GetRuleIDByInstanceID (const IPropertyProvider *source, const InstanceIDType &instanceID) const |
itk::LightObject::Pointer | InternalClone () const override |
Additional Inherited Members | |
![]() | |
static InstanceIDType | NULL_INSTANCE_ID () |
static InstanceIDType | GetInstanceIDByPropertyName (const std::string propName) |
static std::vector< std::string > | GetPropertyKeys (const mitk::IPropertyProvider *owner) |
This rule class can be used for relations that reference an image as source for a destination entity. (e.g. an image that is used to generate the relation source). The ID-layer is supported like for GenericIDReleations. So it can be used for all ID based relations between PropertyProviders that also implement the interface identifiable. In addition the rule uses the data-layer to deduce/define relations. For this layer it uses properties compliant to DICOM. Thus (1) the information is stored in a DICOM Source Image Sequence item (0x0008,0x2112) and (2) the destination must have properties DICOM SOP Instance UIDs (0x0008, 0x0018) and DICOM SOP Class UID (0x0008, 0x0016). If the destination does not have this properties, no connection can be made on the data-layer.
Definition at line 44 of file mitkSourceImageRelationRule.h.
typedef itk::SmartPointer<const Self> mitk::SourceImageRelationRule::ConstPointer |
Definition at line 47 of file mitkSourceImageRelationRule.h.
|
protected |
Definition at line 89 of file mitkSourceImageRelationRule.h.
|
protected |
Definition at line 90 of file mitkSourceImageRelationRule.h.
Definition at line 47 of file mitkSourceImageRelationRule.h.
Definition at line 54 of file mitkSourceImageRelationRule.h.
using mitk::SourceImageRelationRule::RelationUIDVectorType = PropertyRelationRuleBase::RelationUIDVectorType |
Definition at line 55 of file mitkSourceImageRelationRule.h.
Definition at line 53 of file mitkSourceImageRelationRule.h.
Definition at line 47 of file mitkSourceImageRelationRule.h.
Definition at line 47 of file mitkSourceImageRelationRule.h.
|
protected |
Definition at line 69 of file mitkSourceImageRelationRule.cpp.
|
protected |
Definition at line 73 of file mitkSourceImageRelationRule.cpp.
|
protected |
Definition at line 76 of file mitkSourceImageRelationRule.cpp.
|
protected |
Definition at line 80 of file mitkSourceImageRelationRule.cpp.
|
overrideprotecteddefault |
mitk::SourceImageRelationRule::RelationUIDType mitk::SourceImageRelationRule::Connect | ( | Image * | source, |
const Image * | destination | ||
) | const |
Connects to passed images.
Definition at line 64 of file mitkSourceImageRelationRule.cpp.
References mitk::PropertyRelationRuleBase::Connect().
|
overrideprotectedvirtual |
Is called by Connect() to ensure that source has correctly set properties to resemble the relation on the data layer. This means that the method should set the properties that describe and encode the relation on the data layer (data-layer-specific relation properties). If the passed instance are already connected, the old settings should be overwritten. Connect() will ensure that source and destination are valid pointers.
instanceID | is the ID for the relation instance that should be connected. Existance of the relation instance is ensured. |
Implements mitk::PropertyRelationRuleBase.
Definition at line 268 of file mitkSourceImageRelationRule.cpp.
References mitk::PropertyKeyPath::AddElement(), mitk::PropertyKeyPath::AddSelection(), CreateNewSourceImageSequenceItem(), mitk::GeneratePropertyNameForDICOMTag(), mitk::IPropertyProvider::GetConstProperty(), GetReferenceSequenceIndices(), mitk::PropertyRelationRuleBase::GetRootKeyPath(), MITK_DEBUG, mitk::StringProperty::New(), mitk::PropertyKeyPathToPropertyName(), and mitk::IPropertyOwner::SetProperty().
|
protected |
Prepares a new reference to an image on the data layer. Therefore an unused and valid sequence item index for the passed source will be genarated and a relationUID property with the relationUID will be set to block the instance ID. The instance ID will be returned.
Definition at line 213 of file mitkSourceImageRelationRule.cpp.
References mitk::PropertyKeyPath::AddAnySelection(), mitk::PropertyKeyPath::AddElement(), mitk::PropertyKeyPath::AddSelection(), mitk::PropertyRelationRuleBase::GetPropertyKeys(), mitk::TemporoSpatialStringProperty::New(), mitk::PropertyKeyPathToPropertyName(), mitk::PropertyKeyPathToPropertyRegEx(), and mitk::IPropertyOwner::SetProperty().
Referenced by Connect_datalayer().
|
overrideprotectedvirtual |
This method is called by Disconnect() to remove all properties of the relation from the source that are set by Connect_datalayer().
Implements mitk::PropertyRelationRuleBase.
Definition at line 311 of file mitkSourceImageRelationRule.cpp.
References mitk::PropertyKeyPath::AddAnyElement(), mitk::PropertyKeyPath::AddElement(), mitk::PropertyKeyPath::AddSelection(), mitk::IPropertyProvider::GetConstProperty(), mitk::IPropertyOwner::GetNonConstProperty(), mitk::PropertyRelationRuleBase::GetPropertyKeys(), GetReferenceSequenceIndices(), mitk::PropertyRelationRuleBase::GetRootKeyPath(), mitk::StringProperty::New(), mitk::PropertyKeyPathToPropertyName(), mitk::PropertyKeyPathToPropertyRegEx(), mitk::PropertyNameToPropertyKeyPath(), mitk::IPropertyOwner::RemoveProperty(), and mitk::IPropertyOwner::SetProperty().
|
inlineoverridevirtual |
Reimplemented from mitk::PropertyRelationRuleBase.
Definition at line 47 of file mitkSourceImageRelationRule.h.
|
virtual |
Reimplemented from mitk::PropertyRelationRuleBase.
|
overridevirtual |
Returns a human readable string that can be used to describe the role of a destination in context of the rule instance.
Implements mitk::PropertyRelationRuleBase.
Definition at line 48 of file mitkSourceImageRelationRule.cpp.
|
overridevirtual |
Returns a human readable string that can be used to describe the rule. Does not need to be unique.
Implements mitk::PropertyRelationRuleBase.
Definition at line 38 of file mitkSourceImageRelationRule.cpp.
|
overrideprotectedvirtual |
Is called if a instance ID cannot be deduced on the ID-layer. Implement this method to check which existing relation(s) as Connected_Data exists between both passed instances. If the passed instances have no explicit relation of type Connected_Data, an empty vector will be returned.
Implements mitk::PropertyRelationRuleBase.
Definition at line 86 of file mitkSourceImageRelationRule.cpp.
References mitk::IPropertyProvider::GetConstProperty(), mitk::PropertyRelationRuleBase::GetInstanceIDByPropertyName(), mitk::PropertyRelationRuleBase::GetPropertyKeys(), GetReferenceSequenceIndices(), mitk::PropertyRelationRuleBase::GetRIIPropertyRegEx(), mitk::PropertyRelationRuleBase::GetRuleIDByInstanceID(), and IsSupportedRuleID().
|
protected |
Helper function that returns a vector of all selections of the property DICOM.0008.2112 that refer to destination or all (if no destination is passed).
Definition at line 124 of file mitkSourceImageRelationRule.cpp.
References mitk::PropertyKeyPath::AddAnySelection(), mitk::PropertyKeyPath::AddElement(), mitk::PropertyKeyPath::AddSelection(), mitk::GeneratePropertyNameForDICOMTag(), mitk::IPropertyProvider::GetConstProperty(), mitk::PropertyRelationRuleBase::GetPropertyKeys(), IsAbstract(), mitk::PropertyKeyPathToPropertyName(), mitk::PropertyKeyPathToPropertyRegEx(), and mitk::PropertyNameToPropertyKeyPath().
Referenced by Connect_datalayer(), Disconnect_datalayer(), GetInstanceID_datalayer(), and HasImplicitDataRelation().
|
overridevirtual |
Returns an ID string that identifies the rule class
Implements mitk::PropertyRelationRuleBase.
Definition at line 33 of file mitkSourceImageRelationRule.cpp.
Referenced by IsSupportedRuleID().
|
overridevirtual |
Returns a human readable string that can be used to describe the role of a source in context of the rule instance.
Implements mitk::PropertyRelationRuleBase.
Definition at line 43 of file mitkSourceImageRelationRule.cpp.
|
inlinestatic |
Definition at line 47 of file mitkSourceImageRelationRule.h.
|
overrideprotectedvirtual |
Is called by HasRelation() if no relation of type Connected_ID (GetInstanceID_IDLayer()) or Connected_Data (GetInstanceID_datalayer()) is evident. Implement this method to deduce if the passed instances have a relation of type Implicit_Data.
Implements mitk::PropertyRelationRuleBase.
Definition at line 176 of file mitkSourceImageRelationRule.cpp.
References mitk::PropertyKeyPath::AddElement(), mitk::PropertyKeyPath::AddSelection(), mitk::IPropertyProvider::GetConstProperty(), GetReferenceSequenceIndices(), IsAbstract(), and mitk::PropertyKeyPathToPropertyName().
|
overrideprotected |
Definition at line 371 of file mitkSourceImageRelationRule.cpp.
References New().
|
overridevirtual |
Returns if the instance is a abstract rule (true). Default implementation is true. Overwrite and reimplement if another behavior is needed.
Reimplemented from mitk::PropertyRelationRuleBase.
Definition at line 23 of file mitkSourceImageRelationRule.cpp.
Referenced by GetReferenceSequenceIndices(), HasImplicitDataRelation(), and IsSupportedRuleID().
|
overridevirtual |
This method checks if owner is eligible to be a Destination for the rule. The default implementation returns a True for every valid IPropertyProvider (so only a null_ptr results into false). May be reimplement by derived rules if they have requirements on potential Sources).
Reimplemented from mitk::PropertyRelationRuleBase.
Definition at line 53 of file mitkSourceImageRelationRule.cpp.
References image.
|
overrideprotectedvirtual |
Returns if the passed rule ID is supported/relevant for the rule. Either because it is the very ID of the rule (default implementation) or because it is an abstract rule which also supports the rule ID.
Reimplemented from mitk::PropertyRelationRuleBase.
Definition at line 28 of file mitkSourceImageRelationRule.cpp.
References GetRuleID(), and IsAbstract().
Referenced by GetInstanceID_datalayer().
|
static |
Referenced by InternalClone().
|
inlinestatic |
Definition at line 49 of file mitkSourceImageRelationRule.h.
|
inlinestatic |
Definition at line 50 of file mitkSourceImageRelationRule.h.
|
inlinestatic |
Definition at line 51 of file mitkSourceImageRelationRule.h.