/*============================================================================= NOTE: THIS FILE IS A HANDMADE WRAPPER FOR THE ManagedITK PROJECT. Project: ManagedITK Program: Insight Segmentation & Registration Toolkit Module: itkManagedPixel.cxx Language: C++/CLI Author: Dan Mueller $Date: 2007-04-11 16:26:16 +1000 (Wed, 11 Apr 2007) $ $Revision: 128 $ Copyright (c) Queensland University of Technology (QUT) 2007. All rights reserved. Portions of this code are covered under the ITK and VTK copyright. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =============================================================================*/ #pragma once #pragma warning( disable : 4635 ) // Disable warnings about XML doc comments #ifndef __itkManagedPixel_cxx #define __itkManagedPixel_cxx // Include some useful ManagedITK headers #include "itkManagedPixelType.cxx" #include "itkManagedVector.cxx" // Use some managed namespaces #using #using using namespace System; using namespace System::IO; using namespace System::Reflection; using namespace System::ComponentModel; using namespace System::Diagnostics; namespace itk { /// ///This class is a managed replacement for the Image template variable TPixel. /// /// ///In native itk, images are templated over the pixel type: TPixel (eg. unsigned ///char, float, etc). In ManagedITK, to allow for the specification of image types ///at runtime, the itkPixelType and itkPixel classes were introduced. /// public ref class itkPixel { private: itkPixelType^ m_Type; Object^ m_Value; public: ///Default constructor taking the pixel type and value. ///The type of the pixel to create. ///The value of the pixel as a generic Object. itkPixel ( itkPixelType^ type, Object^ value ) { this->m_Type = type; this->m_Value = value; } ///Get the type of the pixel. property itkPixelType^ Type { itkPixelType^ get() { return this->m_Type; } } ///Get the generic Object value of the pixel. property Object^ Value { Object^ get() { return this->m_Value; } } ///Get the value of the pixel as an unsigned char (ie. Byte). property Byte ValueAsUC { Byte get() { return Convert::ToByte(this->m_Value); } } ///Get the value of the pixel as a signed char (ie. SByte). property SByte ValueAsSC { SByte get() { return Convert::ToSByte(this->m_Value); } } ///Get the value of the pixel as an unsigned short (ie. UInt16). property UInt16 ValueAsUS { UInt16 get() { return Convert::ToUInt16(this->m_Value); } } ///Get the value of the pixel as a signed short (ie. Int16). property Int16 ValueAsSS { Int16 get() { return Convert::ToInt16(this->m_Value); } } ///Get the value of the pixel as an unsigned long (ie. UInt32). property UInt32 ValueAsUL { UInt32 get() { return Convert::ToUInt32(this->m_Value); } } ///Get the value of the pixel as a signed long (ie. Int32). property Int32 ValueAsSL { Int32 get() { return Convert::ToInt32(this->m_Value); } } ///Get the value of the pixel as a float (ie. Single). property Single ValueAsF { Single get() { return Convert::ToSingle(this->m_Value); } } ///Get the value of the pixel as a double. property Double ValueAsD { Double get() { return Convert::ToDouble(this->m_Value); } } ///Get the value of the pixel as an array. generic where TValueType : System::IComparable, System::IConvertible virtual itkArray^ ValueAsArray() { return (itkArray^)this->m_Value; } ///Get the value of the pixel as an array of UC. property itkArray^ ValueAsArrayOfUC { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of SC. property itkArray^ ValueAsArrayOfSC { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of US. property itkArray^ ValueAsArrayOfUS { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of SS. property itkArray^ ValueAsArrayOfSS { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of UL. property itkArray^ ValueAsArrayOfUL { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of SL. property itkArray^ ValueAsArrayOfSL { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of F. property itkArray^ ValueAsArrayOfF { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as an array of D. property itkArray^ ValueAsArrayOfD { itkArray^ get() { return (itkArray^)this->m_Value; } } ///Get the value of the pixel as a itkVector. property itkVector^ ValueAsVector { itkVector^ get() { return (itkVector^)this->m_Value; } } ///Get the value of the pixel as an Int32. ///This is the same as SignedLong. property int ValueAsInt32 { int get() { return Convert::ToInt32(this->m_Value); } } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( unsigned char value ) { return gcnew itkPixel( itkPixelType::UC, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( signed char value ) { return gcnew itkPixel( itkPixelType::SC, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( unsigned short value ) { return gcnew itkPixel( itkPixelType::US, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( signed short value ) { return gcnew itkPixel( itkPixelType::SS, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( unsigned long value ) { return gcnew itkPixel( itkPixelType::UL, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( signed long value ) { return gcnew itkPixel( itkPixelType::SL, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( float value ) { return gcnew itkPixel( itkPixelType::F, value ); } ///Implicit conversion operator to create scalar itkPixel from literal. static operator itkPixel^ ( double value ) { return gcnew itkPixel( itkPixelType::D, value ); } ///Return a string representation of the pixel. ///A string representation of the pixel. virtual String^ ToString() override { return this->ToString(nullptr); } ///Return a string representation of the pixel. ///The format string for the conversion (eg. "000.00"). ///A string representation of the pixel. virtual String^ ToString(String^ format) { if (this->Type->ArrayAsEnum != itkPixelArrayEnum::Scalar) { switch (this->Type->TypeAsEnum) { case itkPixelTypeEnum::UnsignedChar: if (format == nullptr || format->Length == 0) return this->ValueAsArrayOfUC->ToString("000"); else return this->ValueAsArrayOfUC->ToString(format); case itkPixelTypeEnum::SignedShort: if (format == nullptr || format->Length == 0) return this->ValueAsArrayOfSS->ToString("000"); else return this->ValueAsArrayOfSS->ToString(format); case itkPixelTypeEnum::Float: if (format == nullptr || format->Length == 0) return this->ValueAsArrayOfF->ToString("000.00"); else return this->ValueAsArrayOfF->ToString(format); case itkPixelTypeEnum::Double: if (format == nullptr || format->Length == 0) return this->ValueAsArrayOfD->ToString("000.00"); else return this->ValueAsArrayOfD->ToString(format); } } else { switch (this->Type->TypeAsEnum) { case itkPixelTypeEnum::UnsignedChar: if (format == nullptr || format->Length == 0) return this->ValueAsUC.ToString("000"); else return this->ValueAsUC.ToString(format); case itkPixelTypeEnum::SignedChar: if (format == nullptr || format->Length == 0) return this->ValueAsSC.ToString("000"); else return this->ValueAsSC.ToString(format); case itkPixelTypeEnum::UnsignedShort: if (format == nullptr || format->Length == 0) return this->ValueAsUS.ToString("00000"); else return this->ValueAsUS.ToString(format); case itkPixelTypeEnum::SignedShort: if (format == nullptr || format->Length == 0) return this->ValueAsSS.ToString("00000"); else return this->ValueAsSS.ToString(format); case itkPixelTypeEnum::UnsignedLong: if (format == nullptr || format->Length == 0) return this->ValueAsUL.ToString("000000000"); else return this->ValueAsUL.ToString(format); case itkPixelTypeEnum::SignedLong: if (format == nullptr || format->Length == 0) return this->ValueAsSL.ToString("000000000"); else return this->ValueAsSL.ToString(format); case itkPixelTypeEnum::Float: if (format == nullptr || format->Length == 0) return this->ValueAsF.ToString("000.000"); else return this->ValueAsF.ToString(format); case itkPixelTypeEnum::Double: if (format == nullptr || format->Length == 0) return this->ValueAsD.ToString("000.000"); else return this->ValueAsD.ToString(format); } } return this->Value->ToString(); } /// ///Parses a string and creates a Pixel of the given type. ///This method consumes any exceptions caused by parsing, ///returning true on success and false on failure. /// ///The type of pixel to parse. ///The string representing the pixel. Eg. "100", "0.50", "-1234" ///The resultant pixel parsed from the string, or null on failure. ///True if the parse was successful, otherwise false. static bool TryParse(itkPixelType^ type, String^ value, [System::Runtime::InteropServices::Out] itkPixel^% pixel) { Byte resultUC; SByte resultSC; UInt16 resultUS; Int16 resultSS; UInt32 resultUL; Int32 resultSL; Single resultF; Double resultD; bool result = false; pixel = nullptr; if (type->ArrayAsEnum != itkPixelArrayEnum::Scalar) throw gcnew NotSupportedException("Can not parse pixel: the PixelType '" + type->ToString() + "' is not supported by this method."); switch (type->TypeAsEnum) { case itkPixelTypeEnum::UnsignedChar: if (Byte::TryParse(value, resultUC)) { pixel = gcnew itkPixel(itkPixelType::UC, resultUC); result = true; } break; case itkPixelTypeEnum::SignedChar: if (SByte::TryParse(value, resultSC)) { pixel = gcnew itkPixel(itkPixelType::SC, resultSC); result = true; } break; case itkPixelTypeEnum::UnsignedShort: if (UInt16::TryParse(value, resultUS)) { pixel = gcnew itkPixel(itkPixelType::US, resultUS); result = true; } break; case itkPixelTypeEnum::SignedShort: if (Int16::TryParse(value, resultSS)) { pixel = gcnew itkPixel(itkPixelType::SS, resultSS); result = true; } break; case itkPixelTypeEnum::UnsignedLong: if (UInt32::TryParse(value, resultUL)) { pixel = gcnew itkPixel(itkPixelType::UL, resultUL); result = true; } break; case itkPixelTypeEnum::SignedLong: if (Int32::TryParse(value, resultSL)) { pixel = gcnew itkPixel(itkPixelType::SL, resultSL); result = true; } break; case itkPixelTypeEnum::Float: if (Single::TryParse(value, resultF)) { pixel = gcnew itkPixel(itkPixelType::F, resultF); result = true; } break; case itkPixelTypeEnum::Double: if (Double::TryParse(value, resultD)) { pixel = gcnew itkPixel(itkPixelType::D, resultD); result = true; } break; default: throw gcnew NotSupportedException("Can not parse pixel: the PixelType '" + type->ToString() + "' is not supported by this method."); }// end switch return result; } ///Create a new pixel of the given type with zero value. ///The type of pixel to create. ///A new pixel with the value equal to zero. static itkPixel^ NewZero(itkPixelType^ type) { if (type->IsArray) throw gcnew NotSupportedException("Could not make minimum: the PixelType '" + type->ToString() + "' is not supported by this method."); switch (type->TypeAsEnum) { case itkPixelTypeEnum::UnsignedChar: return gcnew itkPixel(itkPixelType::UC, (Object^)0); case itkPixelTypeEnum::SignedChar: return gcnew itkPixel(itkPixelType::SC, (Object^)0); case itkPixelTypeEnum::UnsignedShort: return gcnew itkPixel(itkPixelType::US, (Object^)0); case itkPixelTypeEnum::SignedShort: return gcnew itkPixel(itkPixelType::SS, (Object^)0); case itkPixelTypeEnum::UnsignedLong: return gcnew itkPixel(itkPixelType::UL, (Object^)0); case itkPixelTypeEnum::SignedLong: return gcnew itkPixel(itkPixelType::SL, (Object^)0); case itkPixelTypeEnum::Float: return gcnew itkPixel(itkPixelType::F, (Object^)0.0); case itkPixelTypeEnum::Double: return gcnew itkPixel(itkPixelType::D, (Object^)0.0); default: throw gcnew NotSupportedException("Could not make zero: the PixelType '" + type->ToString() + "' is not supported by this method."); }// end switch } ///Create a new pixel of the given type with the minimum value. ///The type of pixel to create. ///A new pixel with the value equal to the minimum value. static itkPixel^ NewMin(itkPixelType^ type) { if (type->IsArray) throw gcnew NotSupportedException("Could not make minimum: the PixelType '" + type->ToString() + "' is not supported by this method."); switch (type->TypeAsEnum) { case itkPixelTypeEnum::UnsignedChar: return gcnew itkPixel(itkPixelType::UC, type->MinValue); case itkPixelTypeEnum::SignedChar: return gcnew itkPixel(itkPixelType::SC, type->MinValue); case itkPixelTypeEnum::UnsignedShort: return gcnew itkPixel(itkPixelType::US, type->MinValue); case itkPixelTypeEnum::SignedShort: return gcnew itkPixel(itkPixelType::SS, type->MinValue); case itkPixelTypeEnum::UnsignedLong: return gcnew itkPixel(itkPixelType::UL, type->MinValue); case itkPixelTypeEnum::SignedLong: return gcnew itkPixel(itkPixelType::SL, type->MinValue); case itkPixelTypeEnum::Float: return gcnew itkPixel(itkPixelType::F, type->MinValue); case itkPixelTypeEnum::Double: return gcnew itkPixel(itkPixelType::D, type->MinValue); default: throw gcnew NotSupportedException("Could not make minimum: the PixelType '" + type->ToString() + "' is not supported by this method."); }// end switch } ///Create a new pixel of the given type with the maximum value. ///The type of pixel to create. ///A new pixel with the value equal to the maximum value. static itkPixel^ NewMax(itkPixelType^ type) { if (type->IsArray) throw gcnew NotSupportedException("Could not make maximum: the PixelType '" + type->ToString() + "' is not supported by this method."); switch (type->TypeAsEnum) { case itkPixelTypeEnum::UnsignedChar: return gcnew itkPixel(itkPixelType::UC, type->MaxValue); case itkPixelTypeEnum::SignedChar: return gcnew itkPixel(itkPixelType::SC, type->MaxValue); case itkPixelTypeEnum::UnsignedShort: return gcnew itkPixel(itkPixelType::US, type->MaxValue); case itkPixelTypeEnum::SignedShort: return gcnew itkPixel(itkPixelType::SS, type->MaxValue); case itkPixelTypeEnum::UnsignedLong: return gcnew itkPixel(itkPixelType::UL, type->MaxValue); case itkPixelTypeEnum::SignedLong: return gcnew itkPixel(itkPixelType::SL, type->MaxValue); case itkPixelTypeEnum::Float: return gcnew itkPixel(itkPixelType::F, type->MaxValue); case itkPixelTypeEnum::Double: return gcnew itkPixel(itkPixelType::D, type->MaxValue); default: throw gcnew NotSupportedException("Could not make maximum: the PixelType '" + type->ToString() + "' is not supported by this method."); }// end switch } }; // end ref class ///This class is a managed wrapper for UnsignedChar pixels. public ref class itkPixel_UC : itkPixel { public: itkPixel_UC(Object^ value) : itkPixel ( itkPixelType::UC, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::UC ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::UC ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::UC ); } }; ///This class is a managed wrapper for SignedChar pixels. public ref class itkPixel_SC : itkPixel { public: itkPixel_SC(Object^ value) : itkPixel ( itkPixelType::SC, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::SC ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::SC ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::SC ); } }; ///This class is a managed wrapper for UnsignedShort pixels. public ref class itkPixel_US : itkPixel { public: itkPixel_US(Object^ value) : itkPixel ( itkPixelType::US, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::US ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::US ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::US ); } }; ///This class is a managed wrapper for SignedShort pixels. public ref class itkPixel_SS : itkPixel { public: itkPixel_SS(Object^ value) : itkPixel ( itkPixelType::SS, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::SS ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::SS ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::SS ); } }; ///This class is a managed wrapper for UnsignedLong pixels. public ref class itkPixel_UL : itkPixel { public: itkPixel_UL(Object^ value) : itkPixel ( itkPixelType::UL, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::UL ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::UL ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::UL ); } }; ///This class is a managed wrapper for SignedLong pixels. public ref class itkPixel_SL : itkPixel { public: itkPixel_SL(Object^ value) : itkPixel ( itkPixelType::SL, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::SL ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::SL ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::SL ); } }; ///This class is a managed wrapper for Float pixels. public ref class itkPixel_F : itkPixel { public: itkPixel_F(Object^ value) : itkPixel ( itkPixelType::F, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::F ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::F ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::F ); } }; ///This class is a managed wrapper for Double pixels. public ref class itkPixel_D : itkPixel { public: itkPixel_D(Object^ value) : itkPixel ( itkPixelType::D, value ) { } static itkPixel^ NewZero() { return itkPixel::NewZero( itkPixelType::D ); } static itkPixel^ NewMin() { return itkPixel::NewMin( itkPixelType::D ); } static itkPixel^ NewMax() { return itkPixel::NewMax( itkPixelType::D ); } }; ///This class is a managed wrapper for Vector Unsigned Char pixels. public ref class itkPixel_VUC : itkPixel { public: itkPixel_VUC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedChar, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Signed Char pixels. public ref class itkPixel_VSC : itkPixel { public: itkPixel_VSC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedChar, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Unsigned Short pixels. public ref class itkPixel_VUS : itkPixel { public: itkPixel_VUS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedShort, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Signed Short pixels. public ref class itkPixel_VSS : itkPixel { public: itkPixel_VSS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedShort, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Unsigned Long pixels. public ref class itkPixel_VUL : itkPixel { public: itkPixel_VUL(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedLong, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Signed Long pixels. public ref class itkPixel_VSL : itkPixel { public: itkPixel_VSL(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedLong, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Float pixels. public ref class itkPixel_VF : itkPixel { public: itkPixel_VF(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Float, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for Vector Double pixels. public ref class itkPixel_VD : itkPixel { public: itkPixel_VD(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Double, itkPixelArrayEnum::ArrayVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Unsigned Char pixels. public ref class itkPixel_CVUC : itkPixel { public: itkPixel_CVUC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedChar, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Signed Char pixels. public ref class itkPixel_CVSC : itkPixel { public: itkPixel_CVSC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedChar, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Unsigned Short pixels. public ref class itkPixel_CVUS : itkPixel { public: itkPixel_CVUS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedShort, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Signed Short pixels. public ref class itkPixel_CVSS : itkPixel { public: itkPixel_CVSS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedShort, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Unsigned Long pixels. public ref class itkPixel_CVUL : itkPixel { public: itkPixel_CVUL(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedLong, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Signed Long pixels. public ref class itkPixel_CVSL : itkPixel { public: itkPixel_CVSL(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedLong, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Float pixels. public ref class itkPixel_CVF : itkPixel { public: itkPixel_CVF(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Float, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for CovariantVector Double pixels. public ref class itkPixel_CVD : itkPixel { public: itkPixel_CVD(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Double, itkPixelArrayEnum::ArrayCovariantVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VI UC pixels. public ref class itkPixel_VIUC : itkPixel { public: itkPixel_VIUC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedChar, itkPixelArrayEnum::ArrayVectorImage, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VI SS pixels. public ref class itkPixel_VIUS : itkPixel { public: itkPixel_VIUS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedShort, itkPixelArrayEnum::ArrayVectorImage, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VI SS pixels. public ref class itkPixel_VISS : itkPixel { public: itkPixel_VISS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedShort, itkPixelArrayEnum::ArrayVectorImage, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VI F pixels. public ref class itkPixel_VIF : itkPixel { public: itkPixel_VIF(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Float, itkPixelArrayEnum::ArrayVectorImage, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VI D pixels. public ref class itkPixel_VID : itkPixel { public: itkPixel_VID(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Double, itkPixelArrayEnum::ArrayVectorImage, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VLV UC pixels. public ref class itkPixel_VLVUC : itkPixel { public: itkPixel_VLVUC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedChar, itkPixelArrayEnum::ArrayVariableLengthVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VLV SS pixels. public ref class itkPixel_VLVUS : itkPixel { public: itkPixel_VLVUS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedShort, itkPixelArrayEnum::ArrayVariableLengthVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VLV SS pixels. public ref class itkPixel_VLVSS : itkPixel { public: itkPixel_VLVSS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::SignedShort, itkPixelArrayEnum::ArrayVariableLengthVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VLV F pixels. public ref class itkPixel_VLVF : itkPixel { public: itkPixel_VLVF(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Float, itkPixelArrayEnum::ArrayVariableLengthVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for VLV D pixels. public ref class itkPixel_VLVD : itkPixel { public: itkPixel_VLVD(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::Double, itkPixelArrayEnum::ArrayVariableLengthVector, (safe_cast^>(value))->Length), value ) { } }; ///This class is a managed wrapper for RGB UC pixels. public ref class itkPixel_RGBUC : itkPixel { public: itkPixel_RGBUC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedChar, itkPixelArrayEnum::ArrayRGB, 3), value ) { } }; ///This class is a managed wrapper for RGB US pixels. public ref class itkPixel_RGBUS : itkPixel { public: itkPixel_RGBUS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedShort, itkPixelArrayEnum::ArrayRGB, 3), value ) { } }; ///This class is a managed wrapper for RGB UC pixels. public ref class itkPixel_RGBAUC : itkPixel { public: itkPixel_RGBAUC(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedChar, itkPixelArrayEnum::ArrayRGBA, 4), value ) { } }; ///This class is a managed wrapper for RGB US pixels. public ref class itkPixel_RGBAUS : itkPixel { public: itkPixel_RGBAUS(Object^ value) : itkPixel ( gcnew itkPixelType(itkPixelTypeEnum::UnsignedShort, itkPixelArrayEnum::ArrayRGBA, 4), value ) { } }; } // end namespace itk #endif