MCPcopy Create free account
hub / github.com/Kitware/VTK / M_SetupWriteFields

Method M_SetupWriteFields

Utilities/MetaIO/vtkmetaio/metaImage.cxx:2099–2196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2097}
2098
2099void
2100MetaImage::M_SetupWriteFields()
2101{
2102 MetaObject::M_SetupWriteFields();
2103
2104 MET_FieldRecordType * mF;
2105
2106 mF = new MET_FieldRecordType;
2107 MET_InitWriteField(mF, "DimSize", MET_INT_ARRAY, static_cast<size_t>(m_NDims), m_DimSize);
2108 m_Fields.push_back(mF);
2109
2110 char s[22];
2111 if (m_HeaderSize > 0 || m_HeaderSize == -1)
2112 {
2113 mF = new MET_FieldRecordType;
2114 MET_InitWriteField(mF, "HeaderSize", MET_INT);
2115 m_Fields.push_back(mF);
2116 }
2117
2118 int i;
2119 if (m_Modality != MET_MOD_UNKNOWN)
2120 {
2121 mF = new MET_FieldRecordType;
2122 strcpy(s, MET_ValueTypeName[m_Modality]);
2123 MET_InitWriteField(mF, "Modality", MET_STRING, strlen(s), s);
2124 m_Fields.push_back(mF);
2125 }
2126
2127 i = MET_GetFieldRecordNumber("AnatomicalOrientation", &m_Fields);
2128 if (i < 0)
2129 {
2130 const char * str = AnatomicalOrientationAcronym();
2131 mF = new MET_FieldRecordType;
2132 MET_InitWriteField(mF, "AnatomicalOrientation", MET_STRING, strlen(str), str);
2133 m_Fields.push_back(mF);
2134 }
2135
2136 bool valid = false;
2137 for (i = 0; i < 4; i++)
2138 {
2139 if (m_SequenceID[i] != 0)
2140 {
2141 valid = true;
2142 break;
2143 }
2144 }
2145 if (valid)
2146 {
2147 mF = new MET_FieldRecordType;
2148 MET_InitWriteField(mF, "SequenceID", MET_FLOAT_ARRAY, static_cast<size_t>(m_NDims), m_SequenceID);
2149 m_Fields.push_back(mF);
2150 }
2151
2152 if (m_ElementMinMaxValid)
2153 {
2154 mF = new MET_FieldRecordType;
2155 MET_InitWriteField(mF, "ElementMin", MET_FLOAT, m_ElementMin);
2156 m_Fields.push_back(mF);

Callers

nothing calls this directly

Calls 6

MET_GetFieldRecordNumberFunction · 0.85
MET_TypeToStringFunction · 0.85
MET_InitWriteFieldFunction · 0.70
push_backMethod · 0.45
lengthMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected